当前位置: 技术问答>linux和unix
临界区 pthread_mutex_t
来源: 互联网 发布时间:2017-02-05
本文导语: 自己写一个类,在析构函数自动释放临界区,在一个函数中使用临界区,进入临界区后,如果在离开临界区前程序抛出异常,是否这样就无法再释放临界区了(如果没有捕捉异常)? | 需要你...
自己写一个类,在析构函数自动释放临界区,在一个函数中使用临界区,进入临界区后,如果在离开临界区前程序抛出异常,是否这样就无法再释放临界区了(如果没有捕捉异常)?
|
需要你显式调用解锁
如果这个互斥体在多个进程之间共享,本身存放于共享内存中,即使程序退出,只怕还是保持互斥状态
如果这个互斥体在多个进程之间共享,本身存放于共享内存中,即使程序退出,只怕还是保持互斥状态
|
那就在函数内先try{} catch(...)把异常抓住, 在catch里把mutex放掉。
|
楼主参考下http://blog.csdn.net/norains/article/details/4912869
|
用一个类来封装mutex,参考智能指针原理。
|
只能在异常处理中添加解锁的代码了
|
我自己写的话,就很少写C++,惭愧
不怎么用异常
不怎么用异常
|
忘了说, 放掉之后在catch末尾把异常继续往外抛.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。