我们都知道 GIL 的恐怖,并且我已经看到很多关于使用 multiprocessing
模块的正确时机的讨论,但我仍然觉得我对何时在 Python 中进行线程处理没有很好的直觉(主要关注 CPython ) 是正确答案。
GIL 在哪些情况下不是重大瓶颈?线程是最合适的答案的用例类型有哪些?
最佳答案
只有在有大量阻塞 I/O 时,线程才真正有意义。如果是这样,那么一些线程可以在其他线程工作时休眠。如果线程受 CPU 限制,您可能看不到多线程的好处。
请注意 multiprocessing模块,虽然更难编码,但使用单独的进程,因此不会遭受 GIL 的缺点。
关于python - Python 线程什么时候快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8994438/