我想要在後臺運行一個線程,我可以用一個gui按鈕關閉線程對象的go屬性爲false。但是線程只運行一秒鐘。Python 2:線程停止運行,我不知道爲什麼
class MyThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.go = True
def run(self):
while self.go:
print "okay!"
這應該連續打印「好吧!」但事實並非如此。起初它什麼都不做。然後,當我按下gui按鈕停止它,然後啓動MyThread的另一個實例時,它會打印大約50行並停止。
我運行Ubuntu Linux操作系統11.04與Python 2.7.1
是否有另一個線程持有進程並阻止此線程運行? – Dan 2011-05-23 00:09:50
@Dan在主線程中有一個gtk主循環運行。不過,從我所讀的內容來看,I/O線程並不支持GIL。 gtk是一個例外嗎?我將如何解決這個問題? – Madeline 2011-05-23 01:55:20