2009-05-01 149 views
9

我一直在尋找一個很好的超時腳本,可以殺死一個線程,如果它已被激活超過X秒,但所有我看到的例子都有缺陷,並不總是停止線程。使用thread.join(x)最終會破壞它作爲線程的目的。Python Timeout

唯一像樣的例子,我發現是Timeout on a function call和一個不是沒有缺陷..

任何人都知道的一種更好的方式來做到這一點?

+0

Python的人們故意這麼做是因爲通常殺死可能寫入共享內存的東西是個壞主意。你可以使用一個進程而不是一個線程? – Dave 2009-05-01 15:06:11

+0

那麼,在這種情況下,它是一個mod_wsgi腳本,所以它更多的是終止的事情。一旦腳本運行超過了時間限制,只需要殺死整個線程並退出,因此可能造成破壞的共享內存不是一個大問題。 – Ian 2009-05-01 15:24:15

回答