什么更适合性能方面 - 多线程或多处理?

时间:2011-08-13 21:06:42

标签: python multithreading multiprocessing

我想运行几个接收器,它们将在不同的端口接收数据,但基本相同。 什么更适合性能方面 - 多线程或多处理?

2 个答案:

答案 0 :(得分:5)

Python的问题在于,最常见的解释器包含全局锁 - 通常称为GIL。这意味着只有一个线程可以同时执行python代码,因此多进程模型通常可以比多线程模型更有效地使用多个内核。

答案 1 :(得分:4)

如果应用程序是I / O绑定的,则线程就足够了(并且更快)。

如果它受CPU限制,并且您正在使用cpython或其他带有GIL的Python解释器,则多处理是正确的选择。