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

时间:2012-11-08 13:59:56

标签: python multithreading contextmanager

threading模块的文档中,它说

  

此模块提供的所有对象都具有acquire()和   release()方法可以用作with的上下文管理器   声明。当块为时,将调用acquire()方法   输入,并在退出块时调用release()。

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

1 个答案:

答案 0 :(得分:8)

通过查看CPython source,看来它是使用默认参数调用的,这意味着在阻塞模式下。

您想要查看的方法特别是__enter__()with块的开头调用,__exit__(),最后调用。