LoginSignup
0
0

More than 3 years have passed since last update.

イベント

Posted at
import logging
import threading
import time

logging.basicConfig(level=logging.DEBUG, format='%(threadName)s: %(message)s')


def worker1(event):
    event.wait()  #event.set()が呼び出されるまで待機
    logging.debug('start')
    time.sleep(3)
    logging.debug('end')


def worker2(event):
    event.wait()  #event.set()が呼び出されるまで待機
    logging.debug('start')
    time.sleep(3)
    logging.debug('end')


def worker3(event):
    logging.debug('start')
    time.sleep(3)
    logging.debug('end')
    event.set()

if __name__ == '__main__':
    event = threading.Event()
    t1 = threading.Thread(target=worker1, args=(event,))
    t2 = threading.Thread(target=worker2, args=(event,))
    t3 = threading.Thread(target=worker3, args=(event,))
    t1.start()
    t2.start()
    t3.start()
Thread-3: start
Thread-3: end
Thread-1: start
Thread-2: start
Thread-1: end
Thread-2: end
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0