是否有任何理由不在Python中混合使用多处理和线程模块

我正在考虑使用Python来实现一个程序,这需要广泛的multithreading。 另一个要求是,它将在桌面上运行,所以有很多进程,将使应用程序看起来凌乱,更难杀(在任务pipe理器中)。 因此,我正在考虑同时使用线程和多处理模块来减less进程的数量。 据我所知,GIL将只适用于一个单一的过程。 我的问题是:是否有任何理由不混合使用这两个模块?

Solutions Collecting From Web of "是否有任何理由不在Python中混合使用多处理和线程模块"

注意:此警告不适用于Windows。

小心! 在使用日志记录模块时,将线程和多处理功能组合在一起时,会有一个潜伏着锁的令人讨厌的bug。 我上个星期被孩子的流程偶尔挂了。 现在我已经禁用了日志记录,到目前为止这么好(虽然不是最好的解决方案!):

https://twiki.cern.ch/twiki/bin/view/Main/PythonLoggingThreadingMultiprocessingIntermixedStudy

http://bugs.python.org/issue6721

除了KISS的基本原则….去吧,不应该有任何问题。