gpt4 book ai didi

Python 二进制信号量 VS 锁

转载 作者:太空狗 更新时间:2023-10-30 00:20:02 26 4
gpt4 key购买 nike

我们在多线程 python 环境中工作,需要对一段代码进行互斥,例如:

lock = threading.Lock()
with lock:
# get data from shared storage
# process
# put back to shared storage

目前在我看来二进制信号量 threading.Semaphore() 和锁 threading.Lock()将同样为此服务。如果我从锁切换到二进制信号量或反之亦然,是否会有一些陷阱或收获?

注意:在 greenthreads 中运行的代码(如果情况有所改变)

最佳答案

可以说Semaphore是Lock的进阶版。 Semaphore有一个自定义的数字来控制多个线程访问资源。但是只有一个带锁。

关于Python 二进制信号量 VS 锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com