#イベントは、複数のスレッド間の通信であります
インポートスレッド、時間
クラスボス(threading.Thread):
デフ(自己)を実行します。
印刷(「ボスは言った:今すぐ上から、私たちは996人の友人、喝采を持っています」)
イベントセット#
印刷(event.isSet())
#eventが設定された後event.set()、event.waitにおける複数のスレッド(後プログラム)を実行するために活性化されます
time.sleep(3)
印刷(「ボス:我々は仕事を終え、996を持っていません」)
印刷(event.isSet())
event.set()
クラスワーカー(threading.Thread):
デフ(自己)を実行します。
event.wait()
(「:あなたがたはまた、996を行い、ああ母ワーカー」)を印刷
event.clear()
event.wait()
印刷(「労働者:ええ......」)
__name__ == "__main__" の場合:
イベント= threading.Event()
スレッド= []
範囲内のiについて(5):
threads.append(労働者())
threads.append(ボス())
スレッドでのトンのために:
t.start()
#上記の手順を実行し、次の出力を得ることができます
ボスは言った:今すぐ上から、私たちは996人の友人、応援しています
ワーカー:ああ母、あなたがたも996を行います
ワーカー:ああ母、あなたがたも996を行います
ワーカー:ああ母、あなたがたも996を行います
ワーカー:ああ母、あなたがたも996を行います
ワーカー:ああ母、あなたがたも996を行います
ボス:私たちは仕事を終え、我々は996を持っていません
ワーカー:そうそう......
ワーカー:そうそう......
ワーカー:そうそう......
ワーカー:そうそう......
ワーカー:そうそう......
ボス最初に話すために、スレッド、およびevent.wait後のプログラムで活性化セットによって、イベント・セットの状態、
待機状態で5作品初のスレッドが、唯一のプログラムが実行されるの後ろにイベントステータスをリセットイベントの後に実行、設定された後まで待つと、再び待機状態に入ります。