#include <iostream>
#include <assert.h>
#include <queue>
#include <string>
#include <Windows.h>
#include <process.h>
typedef int s32;
typedef unsigned u32;
typedef float f32;
class LockObject
{
public:
LockObject()
{
InitializeCriticalSection(&mLock);
}
~LockObject()
{
DeleteCriticalSection(&mLock);
}
void Lock()
{
EnterCriticalSection(&mLock);
}
void UnLock()
{
LeaveCriticalSection(&mLock);
}
bool TryLock()
{
return TryEnterCriticalSection(&mLock);
}
private:
LockObject(const LockObject &other)
{}
LockObject& operator = (const LockObject &other)
{}
private:
CRITICAL_SECTION mLock;
};
class ScopeLock
{
public:
ScopeLock(CRITICAL_SECTION &lock)
:mlock(lock)
{
C++简单多线程事件驱动同步通知到主线程
最新推荐文章于 2024-07-11 15:18:28 发布
本文探讨了如何在C++中利用多线程和事件驱动机制,实现从工作线程向主线程的同步通知。通过具体的示例和代码解析,详细解释了线程间通信的关键步骤和注意事项,帮助开发者理解并掌握这一技术。
摘要由CSDN通过智能技术生成