首页 > 其他 > 详细

红绿灯

时间:2018-09-07 21:05:56      阅读:232      评论:0      收藏:0      [点我收藏+]
import time
import random
from multiprocessing import Process,Event

def cars(e,i):
    if not e.is_set():
        print(car%d在等待%i)
        e.wait()
    print(\033[33mcar%i通过\033[0m % i)


def light(e):
    while True:
        if e.is_set():
            e.clear()
            print(\033[31m红灯亮了\033[0m)
        else:
            e.set()
            print(\033[32m绿灯亮了\033[0m)
        time.sleep(2)

if __name__ ==__main__:
    e = Event()
    p = Process(target=light,args=(e,))
    p.start()
    for i in range(1,21):
        p = Process(target=cars,args=(e,i))
        p.start()
        time.sleep(random.random())

 

红绿灯

原文:https://www.cnblogs.com/kuraki/p/9606967.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!