gpt4 book ai didi

python - 如何知道python信号量值

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:22 25 4
gpt4 key购买 nike

我在我的代码中使用 threading.semaphore,我想知道我是否可以使用这样的代码

if(sema.acquire()!=True):
#do Somthing

我想在循环中使用这段代码,所以我需要知道信号量是被占用还是被释放 或者在我的代码中使用这样的代码

if(sema.get_value!=1):
#do something

我读了这篇文档,但我找不到我的答案 https://docs.python.org/3/library/threading.html

最佳答案

其他答案是正确的,但是对于谁访问此页面以便真正知道如何获取信号量值,您可以这样做:

>>> from threading import Semaphore
>>> sem = Semaphore(5)
>>> sem._Semaphore__value
5
>>> sem.acquire()
True
>>> sem._Semaphore__value
4

请注意,变量value 名称前的_Semaphore__ 表示这是一个实现细节。不要基于此变量编写生产代码,因为它将来可能会发生变化。此外,不要尝试手动编辑该值,否则......可能会发生任何不好的事情。

关于python - 如何知道python信号量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30032398/

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