当前位置: 首页 > 图灵资讯 > 行业资讯> python使用互斥锁处理资源分配

python使用互斥锁处理资源分配

发布时间:2024-09-04 20:06:00

1、Lock类定义在threading模块中,可以实现锁定

创建锁对象: mutex = threading.Lock()

上锁: mutex.acquire()

释放锁: mutex.release()

2、注意

如果锁以前没有锁,那么acquire就不会堵塞

如果这个锁在调用acquire之前被其他线程锁定,那么acquire就会被堵塞,直到锁被释放

3、实例

importthreading
importtime

num=0
defcount_test1():
globalnum
foriinrange(100000):
mutex.acquire()
num+=1
mutex.release()
print("count_test1-->num:%s"%num)

defcount_test2():
globalnum
foriinrange(100000):
mutex.acquire()
num+=1
mutex.release()
print("count_test2-->num:%s"%num)

mutex=threading.Lock()
t1=threading.Thread(target=count_test1)
t2=threading.Thread(target=count_test2)

t1.start()
t2.start()

t1.join()
t2.join()

print("最后的num:%s"%num)

以上是python使用互斥锁处理资源分配,希望对大家有所帮助,python学习网了解更多知识。

相关文章

如何让vim支持python3

如何让vim支持python3

2025-09-12
python2.7和3.6区别有哪些

python2.7和3.6区别有哪些

2025-09-12
python3有serial库吗

python3有serial库吗

2025-09-12
python中w、r表示什么意思

python中w、r表示什么意思

2025-09-12
python中如何把list变成字符串

python中如何把list变成字符串

2025-09-12
python命名空间是什么

python命名空间是什么

2025-09-12