一、知识点简要
- wait() 默认flag为false,程序处于阻塞状态
flag设置为true,程序直接运行 - set() 使flag为Ture
- clear() 清除进行的flag,换言之flag设为false
- is_set() 判断flag 是否为True 是:True 不是:false
二、代码
1.代码简介
通过男女朋友相处中打游戏的老话题,来描述一下event的使用
明确事件:只要男生惹女生不开心了,女生就将男生微信置于免打扰模式
事件中涉及的对象:男生、女生(需要写两个函数girl boy)
触发原因:男生让女生生气了(设置全局变量,一旦变量为真,则男生的微信模式wat_mode变为dont_disturb)
主动者是boy:boy中设置事件的启动和清除
被动者是girl:girl等待事件
2.具体代码
import threading
def girl():
if event.is_set():
wat_mode = “dont_disturb”
print("\033[41;1m 小子你惨了,女朋友把你打入冷宫了")
else:
print("我们目前还是相亲相爱的哦")
event.wait()
print("完了,你又摊上事了@_@")
def boy(something):
if something == “play_games”:
event.set()
print(“男孩是个耿直boy”)
else:
event.clear()
print(“不打游戏,干什么都是帅帅的”)
event = threading.Event()
what = input(“小伙子你在做什么\n”)
boy = threading.Thread(target=boy ,args =(what,))
boy.start()
girl = threading.Thread(target= girl)
girl.start()