当前位置: 技术问答>linux和unix
destroy pthread_mutex_lock 会怎么样???
来源: 互联网 发布时间:2017-05-01
本文导语: 请问会有什么后果?锁会被打开么? 线程会怎么走: 一个线程中阻塞于 pthread_mutex_lock(&mutexSync); 另一个线程中 pthread_mutex_destroy(&mutexSync); 一个线程中阻塞于 sem_wait(&Sync); 另一个线程中 sem_destroy(&Sync); ...
请问会有什么后果?锁会被打开么? 线程会怎么走:
一个线程中阻塞于 pthread_mutex_lock(&mutexSync);
另一个线程中 pthread_mutex_destroy(&mutexSync);
一个线程中阻塞于 sem_wait(&Sync);
另一个线程中 sem_destroy(&Sync);
一个线程中阻塞于 pthread_mutex_lock(&mutexSync);
另一个线程中 pthread_mutex_destroy(&mutexSync);
一个线程中阻塞于 sem_wait(&Sync);
另一个线程中 sem_destroy(&Sync);
|
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.
|
不好意思,我回答错误了,关于释放使用中的互斥锁和信号量确实可以正确返回,我测试的行为也是正常的,但文档确实明文说了是会导致不确定行为。我查询了内核代码发现确实会导致不确定行为,I am sorry 可能误导了你。
|
好吧, 第二个可以容忍, 但第一个恐怕行不通噢.
|
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.
in a pthread_cond_timedwait() or pthread_cond_wait()) by another thread.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。