我想运行几个接收器,它们将在不同的端口接收数据,但基本相同。 什么更适合性能方面 - 多线程或多处理?
答案 0 :(得分:5)
Python的问题在于,最常见的解释器包含全局锁 - 通常称为GIL。这意味着只有一个线程可以同时执行python代码,因此多进程模型通常可以比多线程模型更有效地使用多个内核。
答案 1 :(得分:4)
如果应用程序是I / O绑定的,则线程就足够了(并且更快)。
如果它受CPU限制,并且您正在使用cpython或其他带有GIL的Python解释器,则多处理是正确的选择。