python 队列是否使用 GIL?

Does python queue use the GIL?

python thread safe queue是使用GIL,还是使用自己的同步机制?

我想知道因为我有一个系统如下:

我想知道线程对是否会通过锁定机制相互影响。

基于队列的source code我们可以推导出python的安全队列是使用python线程锁实现的,它只会阻塞等待队列对象的线程。

虽然他们没有显式使用 GIL,但重要的是要知道在阻塞代码中执行也会触发 GIL,因为 任何 代码访问变量都会触发吉尔。如有必要,您可以在 gil 浏览器上记录自己 this question