计算机软件基础(太原科技大学)实验五(共8页).docx
《计算机软件基础(太原科技大学)实验五(共8页).docx》由会员分享,可在线阅读,更多相关《计算机软件基础(太原科技大学)实验五(共8页).docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上软件开发技术基础实验报告学院: 电子信息工程学院_ 班级:电子_ 学号: 姓名: 实验五 Windows操作系统并发多线程的应用(2学时)班 级 电子 学 号 2 姓 名 许鹏 第 15 周 星 期 五 第 3 、4节 成 绩 _ 实验类型:验证性 实验要求:必修实验学时: 2学时一、实验目的:加深对Windows线程概念及线程同步管理各部门内容的理解;熟悉Windows线程管理API的使用。二、实验要求:1、通过上网查阅资料,了解Windows线程同步函数,写出常用的API函数的定义;2、阅读案例程序,给出程序的详细注解;3、运行程序,分析程序结果;4、改写程序实现
2、要求见(四)。三、实验内容:以下程序实现多线程同步,其关系如下:父亲、儿子、女儿三人和一个盘子,当盘子空时,父亲往盘中随机放苹果或香蕉,儿子只从盘中拿桔子,女儿只从盘中拿苹果。四、要求:1)改写程序,要求为:母亲往盘中随机放苹果或桔子,儿子只从盘中拿苹果,女儿只从盘中拿桔子2)写出完整的程序并能调试通过即可五、实验原理: 调用Win32 API中的CreateThread函数创建线程。CreateThread(NULL,0,&TEventWindow:ThreadFunc,this,0,&hThreadId);第一个参数设定线程的安全属性,因其仅用于Windows NT,故不设定。第二个参数为
3、0指定线程使用缺省的堆栈大小。第三个参数指定线程函数,线程即从该函数的入口处开始运行,函数返回时就意味着线程终止运行。第四个参数为线程函数的参数,可以是指向任意数据类型的指针。第五个参数设定线程的生成标志。hThreadId存放线程的标识号。线程函数如下定义,上述的 this参数是指向线程所属窗口的句柄指针,通过thrdWin参数传送过来,利用这个指针再调用相应的LoopFunc函数,线程的具体事务都在这个函数中执行。WaitForSingleObject(hThread, 2000) windows里面的线程同步的api 就是让你这个线程或者说程序停在那里,等别的程序通知你或者说发一个信号量
4、等,然后这个程序在继续运行下去。CloseHandle函数为关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。在CreateThread成功之后会返回一个hThread的handle,且内核对象的计数加1,CloseHandle之后,引用计数减1,当变为0时,系统删除内核对象。ReleaseSemaphore函数用于对指定的信号量增加指定的值;sleep函数可计算执行挂起的时间;rand函数在产生随机数srand(time(NULL),可以为rand函数提供不同的种子值,进而产生不同的随机数序列。六、程序代码:(1)苹果香蕉问题:#includeusing namespa
5、ce std;#include#includeint k;HANDLE Apple_;CRITICAL_SECTION mmutex;HANDLE Banana_;DWORD WINAPI Son(LPVOID n)/HANDLE Apple_;CRITICAL_SECTION mmutex;int i=1;/:OpenSemaphore(MUTEX_ALL_ACCESS,false,Apple_);while(1):WaitForSingleObject(Apple_,INFINITE);/等苹果coutSon eatsiapplesendl;LeaveCriticalSection(&mm
6、utex);i+;:CloseHandle(Apple_);return 0;DWORD WINAPI Daughter(LPVOID n)int i=1;/HANDLE Banana_;CRITICAL_SECTION mmutex;/OpenSemaphore(MUTEX_ALL_ACCESS,false,Banana_);while(1) :WaitForSingleObject(Banana_,INFINITE);/等香蕉 coutDaughter eatsibananasendl; LeaveCriticalSection(&mmutex); i+;:CloseHandle(Bana
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 基础 太原 科技大学 实验
限制150内