7
A
回答
10
if(pthread_kill(the_thread, 0) == 0)
{
/* still running */
}
參見:pthread_kill
注:有一種內在的風險,使用pthread_kill()測試是否 線程仍在運行。看到這個帖子了一個解釋: How do I determine if a pthread is alive?
4
如果您不需要編寫便攜式應用程序並可以使用GNU擴展,則可以使用pthread_tryjoin_np
。我相信除了在兩個線程之間建立通信(例如,使用線程擁有的全局互斥鎖,只要它處於活動狀態)之外,沒有其他方法可以實現它。
+0
upvote for the mutex idea! – Mawg 2016-06-30 09:31:03
3
我要加入到討論的事實,一個線程可以在未在信號的情況下,這裏提到如SIGPIPE另一種情況就是死當它是不是由主機進程或線程自己處理,並在可能出現這種信號的情況下處理
+0
這對整個過程是致命的,而不僅僅是一個線程。 – 2016-09-26 11:39:12
相關問題
- 1. 如何知道進程是否死亡
- 2. 如何知道正在運行的腳本是否死亡?
- 3. mysqli或死亡,是否必須死亡?
- 4. RhinoMocks是否死亡?
- 5. 是否已經死亡?
- 6. SparkViewEngine是否正在死亡?
- 7. 檢查Atmega32是否死亡
- 8. Asp.net - 如何知道線程何時死亡
- 9. 「sub END」如何知道程序已經死亡? (Perl)
- 10. 頻道死亡在去
- 11. 我怎麼知道孩子進程何時死亡?
- 12. 如何檢查我的youtube頻道是否存在或死亡[Blocked]與C#?
- 13. 乘客架過程是否死亡?
- 14. 確定過程是否已經死亡?
- 15. sIFR項目是否已經死亡?
- 16. DLR項目是否已經死亡?
- 17. WP7.1 ScheduledTaskAgent通知何時死亡
- 18. 如何知道線程是否還活着然後殺死它?
- 19. 如何知道進程(app)是否已被殺死?
- 20. 如何知道線程是否處於死鎖狀態?
- 21. 如何知道是否
- 22. 死亡
- 23. 腳本死亡,我不知道爲什麼
- 24. PHP/mysql代碼的小部分死亡。不知道爲什麼
- 25. 如何強制WeakReference死亡?
- 26. Java進程如何死亡?
- 27. 如何判斷客戶端進程是否死亡?
- 28. 如何判斷ThreadPool線程是否無聲無息地死亡
- 29. 如何識別長時間運行的進程是否死亡?
- 30. 如何知道哪個特定的runnable在我的threadPoolExecutor中死亡?
應該指出,線程不能只是「死」。 (1)從其開始函數返回,(2)調用'pthread_exit',(3)調用作爲取消點的函數,同時取消未被阻止,並且已經調用了'pthread_cancel',或者(4)在異步取消生效的同時作爲'pthread_canel'的目標。 – 2011-06-14 04:41:47