线程锁

import threading,time
num=1
lock=threading.Lock() #申请一把锁

def run():
time.sleep(1)
global num
lock.acquire() #加锁 #python3里面不加也无所谓,python2里面要加锁
num+=1
lock.release() #解锁

ts=[]
for i in range(50):
t = threading.Thread(target=run)
t.start()
ts.append(t)
[t.join() for t in ts]
print(num)

# 守护线程
# 只要主线程结束,那么子线程立即结束,不管子线程有没有运行完成

原文地址:https://www.cnblogs.com/jiadan/p/9120854.html