我有一個單獨的線程ListenerThread
,它有一個套接字監聽由某個遠程服務器廣播的信息。這是在我需要開發的一個類的構造函數中創建的。查殺具有套接字的單獨線程
由於要求,一旦單獨的線程啓動,我需要避免主線程上的任何阻塞函數。 一旦涉及到調用我的類的析構函數的時候,我不能在偵聽器線程上執行聯接,因此我唯一能做的就是殺死它。
我的問題是:
會發生什麼由傳遞給THEAD功能分配網絡resoruces?套接字是否正確關閉,或者可能有未決事項? (最擔心這個)
這個過程是否足夠快,即線程是否被殺死,以便立即中斷?
我使用Linux ...我可以檢查什麼命令或者什麼,以確保沒有網絡資源的未決或出現了錯誤的操作系統
我非常感謝你太多的幫助
問候 MNSTN
注意:我使用boost ::線程C++
謝謝尼古拉! 你能確認,即使我使用PTHREAD,我也有使用pthread_cancel或pthread_kill或其他函數的問題嗎?由於操作系統中的網絡資源,相同的自我管理技巧必須適用,對吧? – user311906 2010-04-13 16:05:07
我不會說* must *,但它的工作原理是相同的('boost :: thread'是在Unix上用PThreads實現的。) – 2010-04-13 16:26:41