随笔分类 - 多线程
摘要:想想这么一个函数:int fun(int x) { lock(...); if (...) return 1; else if (...) return 2; else throw ...; unlock(...);}这个时候,我们忘掉解锁的机会就太大了,多个return语句,以及可能出现的异常抛出。都有可能导致我们忘记了释放掉锁。以为我们要在每个return,throw前面加上一个unlock。还有一个东西很重要,作用域。如果没有作用域,我们的程序世界不知道会带来怎样的一种不可想象的混乱。因为作用域很重要,我们可以使用作用域的概念完成自动解锁功能定义如下一个类ScopeLockclass S
阅读全文
摘要:#include <pthread.h>vector<uint> m_vectSelectDataHander;typedef map<int, int> templatemap;templatemap MapPthreadID;void *thread1(void*){int nPthread = MapPthreadID[pthread_self()];}for(int i=0;i<n;i++)m_vectSelectDataHander.push_back(0);for(uint i = 0; i < m_vectSelectDataHan
阅读全文