日期:2014-05-16  浏览次数:20746 次

临界区 pthread_mutex_t
自己写一个类,在析构函数自动释放临界区,在一个函数中使用临界区,进入临界区后,如果在离开临界区前程序抛出异常,是否这样就无法再释放临界区了(如果没有捕捉异常)?

------解决方案--------------------
需要你显式调用解锁

如果这个互斥体在多个进程之间共享,本身存放于共享内存中,即使程序退出,只怕还是保持互斥状态
------解决方案--------------------
楼主参考下http://blog.csdn.net/norains/article/details/4912869
------解决方案--------------------
用一个类来封装mutex,参考智能指针原理。
------解决方案--------------------
只能在异常处理中添加解锁的代码了
------解决方案--------------------
我自己写的话,就很少写C++,惭愧
不怎么用异常
------解决方案--------------------
那就在函数内先try{} catch(...)把异常抓住, 在catch里把mutex放掉。
------解决方案--------------------
探讨
那就在函数内先try{} catch(...)把异常抓住, 在catch里把mutex放掉。