下载此文档

实验一进程的同步与互斥.doc


文档分类:通信/电子 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2 下载此文档
文档列表 文档介绍
实验一进程的同步与互斥实验目的加深对进程概念的理解,明确进程和程序的区别。进一步认识并发执行的实质。(3)分析进程竞争资源现象,学习解决进程互斥的法。(4)了解Windows对进程管理的支持。二、实验类型观察/分析型。预习内容预习进程管理有关理论和VC++对进程管理的支持,包括进程的基本操作和经典的进程同步与互斥问题。实验要求本实验通过学习和分析三个简单的Windows线程编程编写一个简单的生产者/消费者问题实例程序。利用(1)和(2)中的Windows进程和线程创建法实现一个简单的读者,写者程序,读者将1~10十个数字依次填入临界资源区gData,当且仅当gData被读者消费后,写者才可以写入下一个数。实验代码#include""#include<>#include<>#include<>constintwriterNum=1;constintreaderNum=1;intgData=0;boolcontinu=true;HANDLEhmutex;HANDLEhfullsemaphore;HANDLEhemptysemaphore;DWORDWINAPIreader(LPVOIDlppara){ while(continu){ WaitForSingleObject(hemptysemaphore,INFINITE); WaitForSingleObject(hmutex,INFINITE); if(gData>=11){ continu=false; break; } Sleep(100); printf("readersgetsdata:%d\n",gData); printf("\n"); ReleaseMutex(hmutex); ReleaseSemaphore(hfullsemaphore,1,NULL); } returnNULL;}DWORDWINAPIwriter(LPVOIDlppara){ while(continu){ WaitForSingleObject(hfullsemaphore,INFINITE); WaitForSingleObject(hmutex,INFINITE); if(gData>=10){ continu=false; break; } Sleep(100); gData++; printf("writergetsdata:%d\n",gData); printf("\n"); ReleaseMutex(hmutex

实验一进程的同步与互斥 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数2
  • 收藏数0 收藏
  • 顶次数0
  • 上传人762357237
  • 文件大小30 KB
  • 时间2019-03-12