linux 下 C 语言多线程编程实例 2007 年 11 月 29 日 星期四 10:39 学东西,往往实例才是最让人感兴趣的,老是学基础理论,不动手,感觉没有成就感,呵呵
下面先来一个实例
我们通过创建两个线程来实现对一个数的递加
或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉
下面是我们的代码: /*thread_example
c : c multiple thread programming in linux *author : falcon *E-mail : tunzhj03@st
cn */ #include #include #include #include #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("thread2 : number = %d\n",number); pthread_mutex_l