#include ".\opencsp_mutex.h"
unsigned long OPENCSP_UsrMutex::_ulLockCnt(0);
DWORD OPENCSP_UsrMutex::_dwProcessId(0);
OPENCSP_Mutex OPENCSP_UsrMutex::_dscs;
OPENCSP_Mutex::OPENCSP_Mutex() //线程同步
:_sect() //构造函数后加冒号 ,使用初始化成员列表对对象进行初始化
{//初始化一个临界资源对象,来解决同步互斥问题。参数为临界资源对象指针
::InitializeCriticalSection(&_sect);
}
OPENCSP_Mutex::~OPENCSP_Mutex()
{
::DeleteCriticalSection(&_sect);
}
OPENCSP_Mutex::operator LPCRITICAL_SECTION()
{
return (LPCRITICAL_SECTION)&_sect;
}
BOOL OPENCSP_Mutex::lock()
{
::EnterCriticalSection(&_sect);//进入临界区,让每个线程都按顺序地访问变量
return TRUE;
}
BOOL OPENCSP_Mutex::unlock()
{
::LeaveCriticalSection(&_sect);//离开临界区
return TRUE;
}
OPENCSP_MutexLockerWkr::OPENCSP_MutexLockerWkr()
{
while (::In
OpenCSP开源程序解析之OPENCSP_Mutex.cpp
最新推荐文章于 2022-04-14 14:11:51 发布
本文深入探讨了OpenCSP框架中的OPENCSP_Mutex.cpp文件,详细解析了其互斥锁(Mutex)的实现原理,涵盖了线程同步、资源保护等关键概念,为理解OpenCSP的底层工作机制提供了重要参考。
摘要由CSDN通过智能技术生成