您的位置:首页 > 编程语言 > C语言/C++

C++中多线程的加锁机制

2016-03-07 20:59 453 查看
这里我们主要分转出来了一个类,给人一种Java程序的感觉 

转自http://blog.csdn.net/a342374071/article/details/18270643

class singleStance{
private :
singleStance();
public :
static singleStance* onlystance;
static singleStance* getStance(){
lockBase* lockbase = new lockBase();
lockBase->lock();
if(onlystance){
onlystance = new singleStance();
}
lockBase->unlock();
return onlystance;
}

};
class lockBase{
protected:

friend class singleStance;
CRITICAL_SECTION cs;

public :
lockBase(){
::InitializeCriticalSection(&cs);
}
void lock(){
::EnterCriticalSection(&cs);
}
void unlock(){
::LeaveCriticalSection(&cs);
}
~lockBase(){
::DeleteCriticalSection(&cs);
}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多线程同步 c++