c语言多线程编程实例

c语言多线程编程实例

ID:33335158

大小:41.50 KB

页数:6页

时间:2019-02-24

c语言多线程编程实例_第1页
c语言多线程编程实例_第2页
c语言多线程编程实例_第3页
c语言多线程编程实例_第4页
c语言多线程编程实例_第5页
资源描述:

《c语言多线程编程实例》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、linux下C语言多线程编程实例2007年11月29日星期四10:39学东西,往往实例才是最让人感兴趣的,老是学基础理论,不动手,感觉没有成就感,呵呵。下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉。下面是我们的代码:/*thread_example.c:cmultiplethreadprogramminginlinux*author:falcon*E-mail:tunzhj03@st.lzu.edu.cn*/#include#include

2、h>#include#include#defineMAX10pthread_tthread[2];pthread_mutex_tmut;intnumber=0,i;void*thread1(){printf("thread1:I'mthread1");for(i=0;i

3、hread1:主函数在等我完成任务吗?");pthread_exit(NULL);}void*thread2(){printf("thread2:I'mthread2");for(i=0;i

4、e(void){inttemp;memset(&thread,0,sizeof(thread));//comment1/*创建线程*/if((temp=pthread_create(&thread[0],NULL,thread1,NULL))!=0)//comment2printf("线程1创建失败!");elseprintf("线程1被创建");if((temp=pthread_create(&thread[1],NULL,thread2,NULL))!=0)//comment3printf("线程2创建失败");elseprintf("线程2被创建"

5、);}voidthread_wait(void){/*等待线程结束*/if(thread[0]!=0){//comment4pthread_join(thread[0],NULL);printf("线程1已经结束");}if(thread[1]!=0){//comment5pthread_join(thread[1],NULL);printf("线程2已经结束");}}intmain(){/*用默认属性初始化互斥锁*/pthread_mutex_init(&mut,NULL);printf("我是主函数哦,我正在创建线程,呵呵");thread_crea

6、te();printf("我是主函数哦,我正在等待线程完成任务阿,呵呵");thread_wait();return0;}下面我们先来编译、执行一下引文:falcon@falcon:~/program/c/code/ftp$gcc-lpthread-othread_examplethread_example.cfalcon@falcon:~/program/c/code/ftp$./thread_example我是主函数哦,我正在创建线程,呵呵线程1被创建线程2被创建我是主函数哦,我正在等待线程完成任务阿,呵呵thread1:I'mthread1thread1:

7、number=0thread2:I'mthread2thread2:number=1thread1:number=2thread2:number=3thread1:number=4thread2:number=5thread1:number=6thread1:number=7thread2:number=8thread1:number=9thread2:number=10thread1:主函数在等我完成任务吗?线程1已经结束thread2:主函数在等我完成任务吗?线程2已经结束实例代码里头的注释应该比较清楚了吧,下面我把网路上介绍上面涉及到的几个函数和变量给引用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。