2011-01-25 179 views
6

我正在編寫一個多線程的Python應用程序,它使許多TCP連接到服務器。每個連接都在一個單獨的線程上完成。有時線程掛了很長時間,我不想要。我怎麼能讓線程在某段時間後自殺?從主線程我怎麼能確定子線程自殺?Python:如何獲得線程在超時後自行終止?

如果可能的話我會很感激的代碼展示瞭如何做到這一點的一個片段。謝謝。

更新 該系統是Ubuntu的9:10

+0

你是什麼意思掛起?如果這是網絡操作掛起,你不能設置它的超時? – 2011-01-25 09:59:06

+0

是的,我可以設置網絡超時,但會導致一些其他問題。從昨天看我的問題。沒有超時的這種方法適用於大多數主機。我只想知道如何獲得一個線程來殺死自己。 – VacuumTube 2011-01-25 10:03:16

回答

4

簡短的回答:那就讓高清的run()結束。 所以,如果你是從一個套接字等待數據,這樣做有超時,那麼如果超時發生剛剛突破的同時,你應該有,而線程會被殺死。

您可以從主線程檢查,如果一個線程是活着的IsAlive()方法。

相關問題