當我在我的線程函數期間調用'pthread_cond_signal'時,這個調用是否解除了我當前使用的互斥鎖? (不是pthread_cond_wait正在等待的那個人)。pthread_cond_signal函數是否解鎖調用線程鎖定的互斥鎖?
3
A
回答
5
只有給予pthread_cond_(timed_)wait()的互斥鎖才能解鎖,以使其他線程有機會更改條件。在pthread_cond_wait的末尾,互斥鎖再次被鎖定。 沒有其他函數鎖定/解鎖互斥鎖。
2
不,它根本不解鎖任何互斥鎖。 pthread_cond_wait
確實解鎖它的互斥鎖,當它退出時互斥鎖再次被鎖定。
相關問題
- 1. pthread互斥鎖兩個線程互鎖鎖定/解鎖是否有效?
- 2. 函數可以鎖定互斥鎖嗎?
- 3. pthread_cond_wait不解鎖互斥鎖
- 4. 互斥鎖/解鎖命令
- 5. 不鎖定pthread_cond_timedwait和pthread_cond_signal的互斥鎖(在Linux上)
- 6. 如何讓一個線程解鎖另一個線程鎖定的互斥鎖?
- 7. 鎖定多個互斥鎖
- 8. 多線程互斥鎖可以使用多個互斥鎖
- 9. 互斥鎖和鎖
- 10. 使用waitKey時,「試圖解鎖未被鎖定的互斥鎖」
- 11. 多線程和互斥鎖
- 12. pthread互斥鎖解鎖爲什麼一樣的線程?
- 13. Boost:可能從任何線程解鎖互斥鎖?
- 14. 鎖定互斥鎖的分段錯誤
- 15. 成功的互斥鎖鎖定
- 16. 鎖定互斥鎖時的線程優先級
- 17. 在C++ 98互斥鎖中鎖定變量共享數據互斥鎖
- 18. 是否有必要在主結束時解鎖互斥鎖?
- 19. 互斥鎖在超出範圍時是否解鎖?
- 20. 當調用條件變量的通知時,互斥鎖是否會被解鎖
- 21. C++ Boost ::線程可升級互斥鎖「嘗試升級鎖定」?
- 22. C# - 鎖定互斥鎖問題
- 23. 鎖定互斥鎖vs訪問磁盤
- 24. 自旋鎖VS互斥鎖定睡眠
- 25. 在C++中鎖定析構函數中的互斥鎖11
- 26. pthreads是否支持查詢遞歸互斥鎖的「鎖計數」?
- 27. boost :: mutex /如何測試一個互斥鎖是否被鎖定
- 28. 檢查一個並行線程互斥鎖定或解鎖(後一個線程已經鎖定本身)
- 29. 瞭解互斥鎖類
- 30. 互斥鎖與線程鎖。使用哪個?