PY3_线程红绿灯
Posted jum-bolg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PY3_线程红绿灯相关的知识,希望对你有一定的参考价值。
# Author:jum_
# event 事件监测 红灯停绿灯行 线程标志位
# 事件主要提供了三个方法wait、clear、set
# clear:将“Flag”设置为False
#set:将“Flag”设置为True
# with:等待设置标志位
import threading,time
event = threading.Event() #实例化一个事件
def lights():
conten = 0 #初始化一个变量
event.set() #设置事件标志位
while True:
if conten >5 and conten<10:
event.clear() #清空标志位
print("红灯")
elif conten >10:
event.set() #设置标志位
conten = 0 #清零
else:
print("绿灯") #事件触发时为绿灯
time.sleep(1)
conten+=1
def Car(name):
while True:
if event.isSet(): #判断设置标志位
print("[%s]runing...."%name)
time.sleep(1)
else:
print("[%s]stop..." % name)
event.wait() #等待标志位设定
lg = threading.Thread(target=lights,)
lg.start()
byd = threading.Thread(target=Car,args=("byd",))
byd.start()
‘‘‘
自己之前写的,居然看不懂了,论注释的重要性
‘‘‘
以上是关于PY3_线程红绿灯的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode刷题 多线程编程九则 | 1188. 设计有限阻塞队列 1242. 多线程网页爬虫 1279. 红绿灯路口