2022年操作系统实验线程的互斥 .pdf
《2022年操作系统实验线程的互斥 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统实验线程的互斥 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 线程的互斥实验名称: 线程的互斥实验目的 :1)熟练掌握Windows 系统环境下线程的创建于撤销。2)熟悉 Windows 系统提供的线程互斥API。3)使用 Windows 系统提供的线程互斥API 解决实际问题。实验准备知识:临界区对象(Criticalsection )包括初始化临界区InitializecritiCalSection () 、进入临界区EnterCriticalSection ( )、 退 出 临 界 区LeaveCriticalSection ( ) 及 删 除 临 界 区DeleteCriticalsection 等 API 函数;互斥对象(Mutex )包括
2、创建互斥对象(CreateMutex() ) 、打开互斥对象(OpenMutex () ) 、释放互斥条件(ReleaseMutex() )API 函数。实验内容 :完成两个子线程之间的互斥,在主线程中使用系统调用CreateThread()创建两个子线程,并使两个子线程互斥的使用全局变量count。实验要求 :能正确使用临界区对象,包括初始化临界区InitializecritiCalSection () 、进入临界区EnterCriticalSection() 、 退出临界区LeaveCriticalSection() 及删除临界区DeleteCriticalsection() ,进一步理解
3、线程的互斥。源代码 :/ 操作系统实验三.cpp : Defines the entry point for the console application. / #include stdafx.h #include 操作系统实验三.h #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE = _FILE_; #endif / / The one and only application object CWinApp theApp; using namespace std; static int c
4、ount=5; static HANDLE h1; static HANDLE h2; LPCRITICAL_SECTION hCriticalSection; /定义指向临界区对象的地址指针CRITICAL_SECTION Critical; /定义临界区名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 2 void func1(); void func2(); int _tmain(int argc, TCHAR* argv,
5、TCHAR* envp) int nRetCode=0; DWORD dwThreadID1, dwThreadID2; hCriticalSection=&Critical; /将指向临界区的对象的指针指向临界区InitializeCriticalSection(hCriticalSection); /初始化临界区h1=CreateThread(LPSECURITY_ATTRIBUTES)NULL, 0, (LPTHREAD_START_ROUTINE)func1, (LPVOID)NULL, 0,&dwThreadID1); /创建线程func1 if(h1=NULL)printf(Thr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年操作系统实验线程的互斥 2022 操作系统 实验 线程
限制150内