Python3.6 新版 Thread 还是会阻塞主线程吗?

试了一下在 Thread 中新启一个任务,然后在这个任务里 time.sleep(60),然后整个应用的主线程就全阻塞了。
Python3.6 新版 Thread 还是会阻塞主线程吗?

8 回复

之前就不会阻塞,你是不是在主线程里调用 join 或者 wait 了?


我无法理解你的问题。

想起来了,在这个 Thread 中有 IO 操作了,所以 GIL 不释放

我印象中 IO 操作是会释放 GIL 的。

发发代码来看看呀~~~
凭空怎么看问题嘛

join 和 wait 都是等锁, C 代码会释放 gil 的

除非你调用了某个忘记释放 gil 的垃圾第三方库,否则不会出现这种情况的
就算是你要 ctypes 和 cffi 来调用第三方 dll 的时候都一样会释放 gil

话说上次调用 telebot 就算这样锁死的 找了好久才发现问题 提 bug 了

回到顶部