1. 程式人生 > >互斥鎖(解決多個執行緒幾乎同時修改某個共享資料)

互斥鎖(解決多個執行緒幾乎同時修改某個共享資料)

def test1():
global g_num
mutex.acquire()
g_num += 100
mutex.release()
print(g_num)

def test2():
global g_num
# 上鎖 如果之前沒有被上鎖 ,那麼此時上所成功
# 如果之間已經被上鎖了 那麼此時會堵塞在這裡 直到鎖被解開
mutex.acquire()
g_num += 100
# 解鎖
mutex.release()
print(g_num)

建立一個互斥鎖 預設是沒上鎖的

mutex = threading.Lock()
這樣就保證了只有一執行緒對共享資源進行修改