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

时间:2011-06-05 16:59:02

标签: python windows multithreading python-3.x

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

2 个答案:

答案 0 :(得分:4)

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

小心!在组合使用日志模块时暴露的线程和多处理时,存在一个潜伏着锁的令人讨厌的错误。上个星期我一直被咬伤,因为儿童过程偶尔会挂起。既然我已经禁用了日志记录,那么这么好(虽然不是最好的解决方案!)。:

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

http://bugs.python.org/issue6721

答案 1 :(得分:1)

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