是否有任何理由不在Python中混合使用Multiprocessing和Threading模块

Dav*_*vid 5 python windows multithreading python-3.x

我正在考虑使用Python来实现一个需要大量多线程的程序.另一个要求是它将在桌面上运行,因此有许多进程会使应用程序显得凌乱而且难以杀死(在任务管理器中).因此,我正在考虑使用线程和多处理模块来减少进程数.据我所知,GIL仅适用于单个流程.我的问题是:有没有理由不混合使用这两个模块?

ric*_*pan 5

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

当心!当结合线程和多处理时,锁潜伏着一个令人讨厌的错误,在使用日志记录模块时也会暴露出来。上周我一直被子进程偶尔挂起的问题所困扰。现在我已经禁用了日志记录,到目前为止一切顺利(尽管不是最好的解决方案!):

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

http://bugs.python.org/issue6721