Python學習筆記:同步鎖

# -*- encoding:utf-8 -*-
import threading
import time

def sub():
    global num
    # num-=1
    lock.acquire()  #獲取鎖,將lock中間包起來,執行中間部分的時候cpu不準輪詢,只能串行
    temp=num
    time.sleep(0.001)
    num=temp-1
    lock.release()  #釋放鎖

num=100

l=[]
lock=threading.Lock()
for i in range(100):
    t=threading.Thread(target=sub)
    t.start()
    l.append(t)

for t in l:
    t.join()

print (num)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章