struct FEvent
{
FEvent()
{
m.lock();
cout<< "Lock" <<endl;
}
~FEvent()
{
m.unlock();
cout<<"UnLock"<<endl;
}
static mutex m;
};
mutex FEvent::m;
#define LOCK_SCOPE FEvent Event
void Hello()
{
bool block = FEvent::m.try_lock();
if(block) //非阻塞模式
{
//加锁
LOCK_SCOPE;
//线程排队
cout<<"Hello "<< endl;
this_thread::sleep_for(chrono::seconds(2));
}
}