操作系统实验(七)线程的互斥
线程的互斥 实验名称:线程的互斥实验目的:1)熟练掌握Windows系统环境下线程的创建于撤销。 2)熟悉Wind
线程的互斥 实验名称: 线程的互斥 实验目的 1Windows :)熟练掌握系统环境下线程的创建于撤销。 2WindowsAPI )熟悉系统提供的线程互斥。 3WindowsAPI )使用系统提供的线程互斥解决实际问题。 实验准备知识 : CriticalsectionInitializecritiCalSection 临界区对象()包括初始化临界区()、进入临界 EnterCriticalSectionLeaveCriticalSection 区()、退出临界区()及删除临界区 DeleteCriticalsectionAPIMutexCreateMutex 等函数;互斥对象()包括创建互斥对象(())、 OpenMutexReleaseMutexAPI 打开互斥对象(())、释放互斥条件(())函数。 实验内容 : CreateThread 完成两个子线程之间的互斥,在主线程中使用系统调用()创建两个子线 count 程,并使两个子线程互斥的使用全局变量。 实验要求 : InitializecritiCalSection 能正确使用临界区对象,包括初始化临界区()、进入临界区 EnterCriticalSectionLeaveCriticalSection ()、退出临界区()及删除临界区 DeleteCriticalsection (),进一步理解线程的互斥。 源代码 : // .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 count=5; static HANDLE h1; static HANDLE h2; LPCRITICAL_SECTION hCriticalSection; // 定义指向临界区对象的地址指针 CRITICAL_SECTION Critical; // 定义临界区

