Python程序中的线程操作-锁
Python程序中的线程操作-锁 一、同步锁 1.1 多个线程抢占资源的情况 from threading import Thread import os,time def work(): global n temp=n time.sleep(0.1) n=temp-1 if __name__ == '__main__': n=100 l=[] for i in range(100): p=Thread(target=work) l.append(p) p.start() for p in l: p.join() print(n) #结果可能为99 1.1.1 对公共数据的操作 import threading R=threading.Lock() R.acquire() ''' 对公共数据的操作 ''' R.release() 1.2 同步锁的引用 from threading import Thread,Lock import os,time def work(): global n lock.acquire() temp=n time.sleep(0.1) n=temp-1 lock.release() if __name__ == '__main__': lock=Lock() n=100 l=[] for i in range(100): p=Thread(target