1. 程式人生 > >Python線程Event例子 (Boss要求等待員工生產杯子例子)

Python線程Event例子 (Boss要求等待員工生產杯子例子)

pytho config RKE evel info break pre oss reading

需求:Boss需要一個員工生產100個杯子,Boss一直等待員工生產完成之後方可
import threading
import logging
import time

logging.basicConfig(level=logging.INFO)

def worker(event:threading.Event, count=10):
    logging.info("I‘m working for U.")
    cups = []
    while True:
        logging.info(‘make 1‘)
        time.sleep(0.5)
        cups.append(1)
        if len(cups) >= count:
            event.set()
            break
    logging.info(‘I finished my job. cups={}‘.format(cups))

def boss(event:threading.Event):
    logging.info("I‘m boss, waiting for U.")
    event.wait()
    logging.info("Good Job")

Event = threading.Event()
w = threading.Thread(target=worker, args=(Event, 100))
b = threading.Thread(target=boss, args=(Event, ))
w.start()
b.start()

Python線程Event例子 (Boss要求等待員工生產杯子例子)