互斥锁(解决多个线程几乎同时修改某个共享数据)

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()
这样就保证了只有一线程对共享资源进行修改

猜你喜欢

转载自blog.csdn.net/weixin_39361197/article/details/85324860