OpenCSP开源程序解析之OPENCSP_Mutex.cpp

本文深入探讨了OpenCSP框架中的OPENCSP_Mutex.cpp文件,详细解析了其互斥锁(Mutex)的实现原理,涵盖了线程同步、资源保护等关键概念,为理解OpenCSP的底层工作机制提供了重要参考。
摘要由CSDN通过智能技术生成
#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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值