Singularity - 如果某个线程设法锁定互斥锁,则确保 没有其他线程能够锁定线程 ,直到原始线程释放锁。
- 醇>
非忙碌等待 - 如果线程试图锁定被第二个线程锁定的线程 ,则第一个线程将被挂起(并且将会不消耗任何CPU资源),直到第二个线程释放锁。此时,第一个线程将被唤醒并继续执行,并将互斥锁锁定。
来自:使用POSIX线程进行多线程编程
问题:我认为线程会锁定互斥锁变量。线程不会锁定其他线程? 上面的粗体陈述是什么意思?一个线程如何锁定其他线程?
答案 0 :(得分:2)
更正:
如果线程设法锁定互斥锁,则确保在原始线程释放锁之前,没有其他线程能够锁定mutex
。
非忙碌等待 - 如果线程试图锁定被第二个线程锁定的mutex
,则第一个线程将被挂起(并且不会占用任何CPU资源),直到锁定为止由第二个线程释放。此时,第一个线程将被唤醒并继续执行,并将互斥锁锁定。