destroy pthread_mutex_lock 会怎么样???

shouso888 2013-11-05 11:31:25
请问会有什么后果?锁会被打开么? 线程会怎么走:

一个线程中阻塞于 pthread_mutex_lock(&mutexSync);
另一个线程中 pthread_mutex_destroy(&mutexSync);

一个线程中阻塞于 sem_wait(&Sync);
另一个线程中 sem_destroy(&Sync);
...全文
492 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Carl_CCC 2013-11-06
  • 打赏
  • 举报
回复
是这样的 destory呢是成功了,但是因为呢lock还在用,销毁动作会延后执行,功能呢还是正常,只是lock不会那么快被销毁,等lock不会用了,自然就被销毁了。
shouso888 2013-11-06
  • 打赏
  • 举报
回复
引用 1 楼 Idle_Cloud 的回复:
这些对象在内核里面都是有引用计数,有人在用的情况下是不会被destroy的,可以正常用。 但是一但用完了,这个时候内存又缺的话,情况就不好说了。
就是说如果原本线程A阻塞于 lock, 现在有别的线程B destroy 这个互斥量,线程A还是会阻塞于 lock?? 那这次destroy不成功? 还需要再 destroy 直到成功为止么?
Carl_CCC 2013-11-06
  • 打赏
  • 举报
回复
这些对象在内核里面都是有引用计数,有人在用的情况下是不会被destroy的,可以正常用。
但是一但用完了,这个时候内存又缺的话,情况就不好说了。
shouso888 2013-11-06
  • 打赏
  • 举报
回复
引用 5 楼 qq120848369 的回复:
EBUSY The implementation has detected an attempt to destroy the object referenced by mutex while it is locked or referenced (for example, while being used in a pthread_cond_timedwait() or pthread_cond_wait()) by another thread.
我在看一个 Google Code powered by Subversion 的代码http://cppthreadpool.googlecode.com/svn/trunk/ 我觉得不妥,但又被”Google Code“ 吓唬到了。 谢版主。 就是说不可以在 被阻塞或等待的情况下, 去 destroy 一个互斥量 或信号量。 是这样的吧?
Carl_CCC 2013-11-06
  • 打赏
  • 举报
回复
不好意思,我回答错误了,关于释放使用中的互斥锁和信号量确实可以正确返回,我测试的行为也是正常的,但文档确实明文说了是会导致不确定行为。我查询了内核代码发现确实会导致不确定行为,I am sorry 可能误导了你。
qq120848369 2013-11-06
  • 打赏
  • 举报
回复
It is safe to destroy an initialized semaphore upon which no threads are currently blocked. The effect of destroying a semaphore upon which other threads are currently blocked is undefined.
qq120848369 2013-11-06
  • 打赏
  • 举报
回复
EBUSY The implementation has detected an attempt to destroy the object referenced by mutex while it is locked or referenced (for example, while being used in a pthread_cond_timedwait() or pthread_cond_wait()) by another thread.
qq120848369 2013-11-06
  • 打赏
  • 举报
回复
好吧, 第二个可以容忍, 但第一个恐怕行不通噢.

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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