电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

生产者与消费者算法VIP免费

生产者与消费者算法_第1页
1/8
生产者与消费者算法_第2页
2/8
生产者与消费者算法_第3页
3/8
第1页共8页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共8页#include#include#include#include#include//定义一些常量;//本程序允许的最大临界区数;#defineMAX_BUFFER_NUM10//秒到微秒的乘法因子;#defineINTE_PER_SEC1000//本程序允许的生产和消费线程的总数;#defineMAX_THREAD_NUM64//定义一个结构,记录在测试文件中指定的每一个线程的参数structThreadInfo{intserial;//线程序列号charentity;//是P还是Cdoubledelay;//线程延迟intthread_request[MAX_THREAD_NUM];//线程请求队列intn_request;//请求个数};第2页共8页第1页共8页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共8页//全局变量的定义//临界区对象的声明,用于管理缓冲区的互斥访问;CRITICAL_SECTIONPC_Critical[MAX_BUFFER_NUM];intBuffer_Critical[MAX_BUFFER_NUM];//缓冲区声明,用于存放产品;HANDLEh_Thread[MAX_THREAD_NUM];//用于存储每个线程句柄的数组;ThreadInfoThread_Info[MAX_THREAD_NUM];//线程信息数组;HANDLEempty_semaphore;//一个信号量;HANDLEh_mutex;//一个互斥量;DWORDn_Thread=0;//实际的线程的数目;DWORDn_Buffer_or_Critical;//实际的缓冲区或者临界区的数目;HANDLEh_Semaphore[MAX_THREAD_NUM];//生产者允许消费者开始消费的信号量;//生产消费及辅助函数的声明voidProduce(void*p);voidConsume(void*p);boolIfInOtherRequest(int);intFindProducePositon();intFindBufferPosition(int);intmain(void){//声明所需变量;DWORDwait_for_all;ifstreaminFile;//初始化缓冲区;for(inti=0;i>n_Buffer_or_Critical;inFile.get();printf("输入文件是:\n");//回显获得的缓冲区的数目信息;printf("%d\n",(int)n_Buffer_or_Critical);//提取每个线程的信息到相应数据结构中;while(inFile){inFile>>Thread_Info[n_Thread].serial;inFile>>Thread_Info[n_Thread].entity;inFile>>Thread_Info[n_Thread].delay;charc;inFile.get(c);while(c!='\n'&&!inFile.eof()){inFile>>Thread_Info[n_Thread].thread_request[Thread_Info[n_Thread].n_request++];inFile.get(c);}n_Thread++;}//回显获得的线程信息,便于确认正确性;for(j=0;j<(int)n_Thread;j++){intTemp_serial=Thread_Info[j].serial;charTemp_entity=Thread_Info[j].entity;doubleTemp_delay=Thread_Info[j].delay;printf("\nthread%2d%c%f",Temp_serial,Temp_entity,Temp_delay);intTemp_request=Thread_Info[j].n_request;for(intk=0;k

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

生产者与消费者算法

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群