当前位置: 首页 > 面试题库 >

Python线程什么时候快速?

长孙哲
2023-03-14
问题内容

我们都知道GIL的恐怖之处,并且我已经看到了很多有关使用multiprocessing模块的正确时间的讨论,但是我仍然不觉得我对使用Python进行线程化有很好的直觉(专注于主要在CPython上)是正确的答案。

在哪些情况下,GIL并非重大瓶颈?线程是最合适答案的用例类型是什么?


问题答案:

线程只有在您有大量阻塞I /
O发生时才有意义。如果真是这样,那么某些线程可以睡眠,而其他线程可以工作。如果线程受CPU限制,则多线程处理不太可能带来很多好处。

请注意,尽管多处理模块很难编写代码,但它使用了单独的进程,因此不会遭受GIL的不利影响。



 类似资料: