pythonは、イベントに基づいてスレッド間通信制御を実現する。


この文章は主にpythonがイベントに基づいてスレッド間通信制御を実現することを紹介しています。ここでは例示的なコードで紹介されています。皆さんの学習や仕事に対して一定の参考学習価値を持っています。必要な友達は下記を参考にしてください。

import threading,time
class Boss(threading.Thread):
  def run(self):
    print("We must work today!")
    event.isSet() or event.set()
    time.sleep(5)
    print("You can go home right now!")
    event.isSet() or event.set()

class Worker(threading.Thread):
  def run(self):
    event.wait()
    print("Oh,my god!!!")
    time.sleep(1)
    event.clear()
    event.wait()
    print("Oh,yeah!!!")
if __name__ == "__main__":
  event = threading.Event()
  threads = []
  for i in range(5):
    threads.append(Worker())
  threads.append(Boss())
  for t in threads:
    t.start()
  for t in threads:
    t.join()
運転後の表示:

We must work today!
Oh,my god!!!
Oh,my god!!!
Oh,my god!!!
Oh,my god!!!
Oh,my god!!!
You can go home right now!
Oh,yeah!!!
Oh,yeah!!!
Oh,yeah!!!
Oh,yeah!!!
Oh,yeah!!!

Process finished with exit code 0
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。