14
私はクラス内でスレッドを使用する多くのPythonスクリプトを見てきましたが、その多くはthreading.Event()
を使用しています。例えば:彼らはself.event
を設定しない場合while
ループではPython Threading With Eventオブジェクト
class TimerClass(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.event = threading.Event()
def run(self):
while not self.event.is_set():
print "something"
self.event.wait(120)
、なぜ彼らは条件をチェックしますか?
OPの例では、self.event.wait(120)は、イベントが120秒前にset()されない限り、ループをやり直すために120秒待つことを意味します。待機(120)が戻り、基本的にループは印刷せずに終了しますか?そしてイベントが決してset()にならなければ、120秒すべての "何か"を印刷しますか? – gunit
@gunitイベントが設定されるまで120秒ごとに「何か」が印刷されます。イベントが設定されると、ループは終了します。 –