程序实验2:11-多线程编程---实验报告.doc

程序实验2:11-多线程编程---实验报告.doc

ID:59461463

大小:496.50 KB

页数:20页

时间:2020-11-02

程序实验2:11-多线程编程---实验报告.doc_第1页
程序实验2:11-多线程编程---实验报告.doc_第2页
程序实验2:11-多线程编程---实验报告.doc_第3页
程序实验2:11-多线程编程---实验报告.doc_第4页
程序实验2:11-多线程编程---实验报告.doc_第5页
资源描述:

《程序实验2:11-多线程编程---实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序实验二:11-多线程编程实验专业班级实验日期5.21姓名学号实验一(p284:11-thread.c)1、软件功能描述创建3个线程,让3个线程重用同一个执行函数,每个线程都有5次循环,可以看成5个小任务,每次循环之间会有随即等待时间(1-10s)意义在于模拟每个任务到达的时间是随机的没有任何的特定规律。2、程序流程设计3.部分程序代码注释(关键函数或代码)#include#include#include#defineT_NUMBER3#defineP_NUMBER5#define

2、TIME10.0void*thrd_func(void*arg){intthrd_num=(int)arg;intdelay_time=0;intcount=0;printf("Thread%disstaraing",thrd_num);for(count=0;count

3、e);}printf("%dfinished",thrd_num);pthread_exit(NULL);}intmain(){pthread_tthread[T_NUMBER];intno=0,res;void*thrd_ret;srand(time(NULL));for(no=0;no

4、rintf("successwaiting");for(no=0;no

5、述在试验1的基础上通过互斥锁,使原本独立,无序的多个线程能够按顺序进行2、程序流程设计3.部分程序代码注释(关键函数或代码)#include#include#include#defineTHREAD_NUMBER3/*线程数*/#defineREPEAT_NUMBER3/*每个线程的小任务数*/#defineDELAY_TIME_LEVELS10.0/*小任务间的最大时间间隔*/pthread_mutex_tmutex;void*thrd_func(void*arg)//线程函数例程

6、{intthrd_num=(int)arg;intdelay_time=0,count=0;intres;//互斥锁上锁res=pthread_mutex_lock(&mutex);if(res){printf("Thread%disstarting",thrd_num);pthread_exit(NULL);}printf("Thread%disstarting",thrd_num);for(count=0;count

7、_LEVELS/(RAND_MAX))+1;sleep(delay_time);printf("tThread%d:job%ddelay=%d",thrd_num,count,delay_time);}printf("Thread%dfinished",thrd_num);pthread_exit(NULL);}intmain(void){pthread_tthread[THREAD_NUMBER];intno=0,res;void*thrd_ret;srand(time(NULL));pthread_mutex_init(&mut

8、ex,NULL);for(no=0;no

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

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

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