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

19
线程(threading)模块的文档中,它说:

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

我想知道它是以阻塞或非阻塞模式调用的?
1个回答

17

从查看CPython源代码来看,它使用默认参数调用,这意味着以阻塞模式进行。

您需要特别注意的方法是__enter__(),它在with块的开始处调用,并且__exit__()在结尾处被调用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接