当前位置: 技术问答>linux和unix
如何判断一个线程是否处于阻塞状态
来源: 互联网 发布时间:2016-12-02
本文导语: 我指控制线程可以检测到的,pthread 在线等 | 通过某种机制,比如读写锁? | 你说的阻塞是一种什么情况? 被检测的线程B进入阻塞状态之前,加锁,退出阻塞状态之后,解锁...
我指控制线程可以检测到的,pthread
在线等
在线等
|
通过某种机制,比如读写锁?
|
你说的阻塞是一种什么情况?
被检测的线程B进入阻塞状态之前,加锁,退出阻塞状态之后,解锁
检测线程A尝试加锁,如果加锁失败,就表示B正在阻塞
如果加锁成功,就表示B没有阻塞
被检测的线程B进入阻塞状态之前,加锁,退出阻塞状态之后,解锁
检测线程A尝试加锁,如果加锁失败,就表示B正在阻塞
如果加锁成功,就表示B没有阻塞
|
貌似锁的底层实现能检测死锁问题
|
试试把它的类型设置为PTHREAD_MUTEX_ERRORCHECK