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

P3t*_*rus 10 python multithreading contextmanager

它说,在线程模块的文档中

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

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

Sam*_*ann 9

从查看CPython源代码看,它似乎是使用默认参数调用的,这意味着在阻塞模式下.

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