首页/作品列表/练习红绿灯代码运行
练习红绿灯代码运行
14482 0
主要内容
###红绿灯事件
from multiprocessing import  Process
import  time
from multiprocessing import  Event
import random
 
def cars(i,e):
    if not e.is_set(): #r.is_set()是True  那么not e.is_set()是False
        print("car%s在等待"%i)
        e.wait()  #阻塞 知直到一个事件状态变成true
    print('car%s通过'%i)
 
def func(e):
    while True:
        if e.is_set():
          e.clear()#将值改成False
          print("红灯亮了")
        else:
           e.set()#将值改成True
           print("\033[32m绿灯亮了\033[0m")
        time.sleep(2)
 
if __name__=="__main__":
    e=Event()
    c=Process(target=func,args=(e,))
    c.start()
    for i in range(20):
        car=Process(target=cars,args=(i,e))
        car.start()
        #random.randint(1,5) 是几秒钟
        time.sleep(random.random()) #是0-1秒钟之间

所需硬件
暂无数据!
代码展示
暂无数据!
附件下载
暂无数据!
2
大牛,别默默的看了,快登录帮我点评一下吧!

立即注册