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_线程红绿灯的主要内容,如果未能解决你的问题,请参考以下文章

java多线程模拟红绿灯案例

Python 实现红绿灯

LeetCode刷题 多线程编程九则 | 1188. 设计有限阻塞队列 1242. 多线程网页爬虫 1279. 红绿灯路口

LeetCode(多线程)- 1279. 红绿灯路口

多线程中的event,用于多线程的协调

第54天:Python 多线程 Event