标签:安全 结果 内存 def temp from click alt end
Gil锁保证内存管理数据安全,不能保证所有数据的安全,不同的数据要加不同的锁
from threading import Thread,Lock import time mutex=Lock() n=100 def task(): global n temp=n time.sleep(0.1) n=temp-1 if __name__ == ‘__main__‘: l=[] for i in range(100): t=Thread(target=task) l.append(t) t.start() for t in l: t.join() print(n) 结果: 99
自定义互斥锁可以保证相关数据安全,但是效率变低了
from threading import Thread,Lock import time mutex=Lock() n=100 def task(): global n with mutex: temp=n time.sleep(0.1) n=temp-1 if __name__ == ‘__main__‘: l=[] for i in range(100): t=Thread(target=task) l.append(t) t.start() for t in l: t.join() print(n) 结果: 0
标签:安全 结果 内存 def temp from click alt end
原文地址:https://www.cnblogs.com/zhouhao123/p/11216467.html