import threading
from time import sleep
s=None #临界资源
def bar():
print("呼叫foo")
global s
s='天王'
def foo():
print('foo等口令')
sleep(2)
print('foo收到%s'%s)
def fun(): #线程bar1被这个fun覆盖掉了,线程之间有同步和互斥
sleep(1)
print('内奸出现')
global s
s='小鸡'
t1=threading.Thread(name='bar',target=bar)
t2=threading.Thread(name="foo",target=foo)
t3=threading.Thread(name="foo",target=foo)
t1.start()
t2.start()
t3.start()
t1.join()
t2.join()
t3.join()
线程锁 :
lock=threading.Lock() #创建锁对象
lock.acquire() #上锁
lock.release() #解锁