当线程锁失败的时候

void run()
{
      AutoLock lock(&m_lock);
      ……// 很多,很多代码
}

……// 很多,很多代码 那里是需要同步的,如果多条线程同时访问,
则会出现程序崩溃!!!!

加了个 AutoLock 后,感觉良好,不错
AutoLock实现如下:

template <typename T>
class AutoLock
{
public:
     AutoLock(T* lock ):m_lock(lock) { m_lock.lock(); }
     ~AutoLock() { m_lock.unlock(); }

private:
     AutoLock() {}
     T* m_lock;
};

当 m_lock.lock(); 失败时……

(待续……)

你可能感兴趣的:(当线程锁失败的时候)