我正在使用这样的 Python 3 序列:
lock = threading.Lock()
res = lock.acquire(timeout=10)
if res:
# do something ....
lock.release()
else:
# do something else ...
我宁愿使用 with-statement 而不是显式的“acquire”和“release”,但我不知道如何获得超时效果。
原文由 Tsf 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用上下文管理器轻松完成此操作:
* 注意:这在 Python 2.x 中不起作用,因为没有
timeout
参数Lock.acquire