码迷,mamicode.com
首页 > 编程语言 > 详细

PY3_线程红绿灯

时间:2018-07-12 01:01:06      阅读:42      评论:0      收藏:0      [点我收藏+]

标签:flag   标志位   author   isset   事件触发   重要   方法   iss   read   

# 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_线程红绿灯

标签:flag   标志位   author   isset   事件触发   重要   方法   iss   read   

原文地址:https://www.cnblogs.com/jum-bolg/p/9297397.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!