linux下C语言多线程编程实例
学东西,往往实例才是最让人感兴趣的,老是学基础理论,不动手,感觉没有成就感,呵呵。
下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。
或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉。
下面是我们的代码:
/*thread_example.c : c multiple thread programming in linux
*author : falcon
*E-mail : tunzhj03@st.lzu.edu.cn
*/
#include <pthread.h>
#include <stdio.h>
#include <sys/time.h>
#include <string.h>
#define MAX 10
pthread_t thread[2];
pthread_mutex_t mut;
int number=0, i;
void *thread1()
{
printf ("thread1 : I'm thread 1\n");
for (i = 0; i < MAX; i++)
{
printf("thread1 : number = %d\n",number);
pthread_mutex_lock(&mut);
number++;
pthread_mutex_unlock(&mut);
sleep(2);
}
printf("thread1 :主函数在等我完成任务吗?\n");
pthread_exit(NULL);
}
void *thread2()
{
printf("thread2 : I'm thread 2\n");
for (i = 0; i < MAX; i++)
{
printf("thr
相关文档:
putty
putty是个比较简单的linux远程控制工具,免费的,只要下到putty运行就ok啦,输入要访问的服务器的ip ,把访问类型设为ssh,输入登陆帐户、密码就ok啦,一切都是那么的简单。
secureCRT
这个比较复杂一点,需要注册码的,但还算是比较容易找到的,它的设置也是很傻瓜的那种,跟putty是一样的,把访问的类型设 ......
#include "windows.h"
void main()
{
MessageBox(NULL, "你好啊!", "提示", MB_OK);
return 0;
}
通过windows.h文件调用windows自带的api函数MessageBox,来完成提示框,效果棒
null表示附属的窗体为空
MB_OK表示对话框的类型 ......
什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。
下面是 ......
1.1 变量作用域
1.1.1 几种常见类型变量的作用域
作用域(scope)或者可见性是指变量在程序内的可见和可引用的范围。
比如:
1、 全局变量在所有的文件都可见,那他的作用域就是所有文件;
2、 static定义的全局变量,只在定义它的源文件中可见,那他的作用域就是其所在的源文件;
3、 函数内部的局部变量,只在其函数 ......