Python中描述线程中锁 (代码)

要想在 Python3 中引入 Lock,调用 from threading import Lock 语句。Lock类是Python中用于线程同步的一种机制,它可以确保在多线程环境下对共享资源德安全访问。

Lock类提供了两个主要的方法:acquire()release()acquire() 方法用于获取锁,如果锁处于被占用状态,则会阻塞线程直到获取到锁;release() 方法用于释放锁,将锁的状态设置为可用。

代码如下:

from threading import Thread, Lock 

shared_resource = 0 

lock = Lock() 

def modify_shared_resource():
    global shared_resource
    lock.acquire()
    try:
        shared_resource += 1
        print(f"shared_resource: {shared_resource}")
    finally:
        lock.release() 

threads = []
for _ in range(5):
    thread = Thread(target = modify_shared_resource)
    threads.append(thread)
    thread.start()  # 启动一个线程

for t in threads:
    t.join()  # 等到线程 t 结束 

print("All threads finished")
print(f"Final shared resource value: {shared_resource}")

# 结果如下
shared_resource: 1
shared_resource: 2
shared_resource: 3
shared_resource: 4
shared_resource: 5
All threads finished
Final shared resource value: 5

点个赞支持一下咯~

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值