如果一个拥有mutex的线程在线程函数结束前并没有调用ReleaseMutex释放此mutex,那这个mutex还能被其他线程所拥有吗?

pop1210 2009-05-02 03:31:41
如果一个拥有mutex的线程在线程函数结束前并没有调用ReleaseMutex释放此mutex,那这个mutex还能被其他线程所拥有吗?
...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pop1210 2009-05-02
  • 打赏
  • 举报
回复
hairetz,呵呵,不一定..
pop1210 2009-05-02
  • 打赏
  • 举报
回复
对,是有别的线程释放掉.
那为什么非mutex拥有权的线程可以释放掉其他线程拥有的mutex??
msdn上说不能来者。。。

还有一点就是拥有mutex的线程如果没有释放它,就相当于放弃它了,这样的放弃会执行些什么操作呢?
  • 打赏
  • 举报
回复
答案肯定是不能,但是你这种死锁也太低级了。

qqwx_1986 2009-05-02
  • 打赏
  • 举报
回复
不能,除非还有别的线程能够释放掉
这也是造成死锁的原因之一

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧