多くの場合、スレッド間で相互に通信することが必要となります。一般的なシナリオは、導入プロセスにおける主要なスレッドは、実装の進捗状況を報告し続ける必要がありとして、特定のタスクを実行するには、セカンダリスレッドです。上記条件変数同期は、スレッド間(通知方法threading.Condition)通信に関連しています。もっと一般的な方法は、threading.Eventオブジェクトを使用することです。
threading.Eventは、他のスレッドが通知されるのを待っているスレッドを作ることができます。これは、内蔵フラグの初期値はFalseです。別のスレッドが呼び出すまで待機状態にスレッド待機()メソッドによって構築されたフラグのセット()メソッドが動作を再開するために待機している全てのスレッドの真の、イベント通知の状態に設定されています。また、オブジェクトEnvent ISSETによって組み込み状態の現在値を照会する()メソッドであってもよいです。
import threading
import random
import time
class MyThread(threading.Thread):
def __init__(self,threadName,event):
threading.Thread.__init__(self,name=threadName)
self.threadEvent = event
def run(self):
print "%s is ready" % self.name
self.threadEvent.wait()
print "%s run!" % self.name
sinal = threading.Event()
for i in range(10):
t = MyThread(str(i),sinal)
t.start()
sinal.set()
ます。https://www.cnblogs.com/linbinqiang/p/5329127.htmlで再現