使用threading.Lock作为上下文管理器

问题描述 投票:10回答:1

threading模块的文档中说:

此模块提供的具有acquire()release()方法的所有对象都可以用作with语句的上下文管理器。输入该块时将调用with方法,而退出该块时将调用acquire()

我想知道是在阻止还是非阻止模式下调用它?

python multithreading contextmanager
1个回答
9
投票

release()看,它似乎是使用默认参数调用的,这意味着处于阻塞模式。

您要查看的方法特别是CPython source,它在__enter__()块的开始处调用,而__enter__(),它在结尾的处调用。

© www.soinside.com 2019 - 2024. All rights reserved.