线程间通信方法
1.通信方法
线程间使用全局变量进行通信
2.共享资源争夺
- 共享资源:多个进程或者线程都可以操作的资源称为共享资源。
对共享资源的操作代码段称为临界区 - 影响;对共享资源的无序操作可能会带来数据的混乱,或者操作错误。此时往往需要同步互斥机制协调操作顺序
3.同步互斥机制
- 同步:同步是一种协作关系,为完成操作,多进程或者线程间形成一种协调,按照
必要的步骤有序执行操作 - 互斥:互斥是一种制约关系,当一个进程或者线程占有资源时会进行加锁处理,此时其他进程线程就无法操作该资源,直到解锁后才能操作
"""
event 线程互斥方法
"""
from threading import Thread,Event
s=None #用于通信
e=Event() #事件对象
def fun():
print("fun")
global s
s="fun"
e.set() #操作完共享资源 e设置
t=Thread(target=fun)
t.start()
e.wait()#阻塞等待
if s=="fun":
print("执行了fun函数")
else:
print("什么也没执行")
t.join()