回答
在pthread/POSIX Thread stack中,您可以使用pthread_kill發送信號給單獨的線程;但不幸的是,這並不包括「停止」,「繼續」或「終止」。請參閱註釋here
如果您只對暫停線程感興趣,一個狡猾的互斥體和條件變量公式是最好的前進方式。
謝謝你,享受你的賞金;) – 2012-02-27 13:16:19
是的大衛施瓦茨,享受那賞金;) – Marty 2012-03-16 09:01:14
您可以爲此使用互斥鎖和條件變量。
告訴另一個線程暫停:
鎖定互斥。
設置共享
pause
變量爲true。釋放互斥鎖。
要檢查是否需要暫停:
鎖定互斥。
檢查
pause
變量是否設置爲true。如果沒有,釋放互斥並繼續。
如果是這樣,條件變量塊轉到步驟2。
取消暫停一個線程:
鎖定互斥。
將
pause
變量設置爲false。廣播條件變量。
釋放互斥鎖。
但我必須指出,這幾乎肯定不是一個明智的做法。沒有理由你應該永遠不想暫停一個線程。你的外在問題可能就像阻止某個特定類型的工作一樣。這應該通過指揮線程完成其他工作來完成,而不是阻止他們從事任何工作。
- 1. Gstreamer 1.0暫停信號
- 2. pthreads信號特定線程
- 3. C pthreads和信號發送
- 4. 暫停()信號處理程序
- 5. pthreads之間的信號處理
- 6. 如何繪製暫停隊列信號量的狀態圖?
- 7. 在Windows中的高級C編程(pthreads,信號和信號量,哦,我的!)
- 8. 一般用於Java中的信號量
- 9. android代碼撥號暫停號碼
- 10. 哪些信號可用於臨時暫停進程linx
- 11. 如何在Linux中傳遞信號以解除暫停()?
- 12. 使用信號處理程序暫停/恢復子進程
- 13. GDB 7.0,信號SIGCONT不從暫停()調用打破
- 14. 如何確保在使用暫停()時不會丟失信號?
- 15. 暫停循環並暫停
- 16. 什麼是一般信號量範圍?
- 17. Django的暫時禁止信號
- 18. 暫停matlab信號,執行計算並在Matlab中繼續輸出相同的信號
- 19. 發送暫停給撥號程序
- 20. 暫停的readline
- 21. BackgroundWorker的暫停
- 22. 暫停
- 23. 暫停
- 24. pthread - 暫停/暫停所有線程
- 25. jquery simplyscroll觸發暫停/取消暫停
- 26. 暫停和取消暫停AS2動畫
- 27. Libgdx:暫停菜單和暫停狀態
- 28. 暫停和取消暫停線程
- 29. jssor:$暫停()不暫停滑塊
- 30. NSThread停止/暫停
你想在任何地方或特定地點暫停嗎? – Tudor 2012-02-27 07:51:13