回答
在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. C pthreads和信號發送
- 3. pthreads信號特定線程
- 4. pthreads之間的信號處理
- 5. 如何繪製暫停隊列信號量的狀態圖?
- 6. android代碼撥號暫停號碼
- 7. GDB 7.0,信號SIGCONT不從暫停()調用打破
- 8. 如何確保在使用暫停()時不會丟失信號?
- 9. 暫停循環並暫停
- 10. Django的暫時禁止信號
- 11. 發送暫停給撥號程序
- 12. 暫停
- 13. 暫停和取消暫停線程
- 14. 暫停和取消暫停AS2動畫
- 15. jssor:$暫停()不暫停滑塊
- 16. JavaScript停止暫停
- 17. NSThread停止/暫停
- 18. C#暫停/停止的System.Diagnostics.Process
- 19. Unix進程同步沒有pthreads/sempahores,信號?
- 20. pthreads條件 - 有可能忽略cond信號?
- 21. 暫停SciPy的odeint
- 22. 暫停的活動
- 23. 暫停$ .post
- 24. 暫停循環
- 25. 不同暫停
- 26. 上暫停
- 27. 暫停執行
- 28. 暫停過程?
- 29. 隨機暫停
- 30. Backgroundworker暫停在
你想在任何地方或特定地點暫停嗎? – Tudor 2012-02-27 07:51:13