Posted on 2009-02-28 23:27
S.l.e!ep.¢% 閱讀(1022)
評論(1) 編輯 收藏 引用 所屬分類:
MulThreads
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(); 失敗時……
(待續……)