我正在考虑使用Python来实现一个需要大量多线程的程序。另一个要求是它将在桌面上运行,因此有许多进程会使应用程序显得凌乱而且难以杀死(在任务管理器中)。因此,我正在考虑使用线程和多处理模块来减少进程数。据我所知,GIL仅适用于单个流程。我的问题是:有没有理由不混合使用这两个模块?
答案 0 :(得分:4)
注意:此警告不适用于Windows。
小心!在组合使用日志模块时暴露的线程和多处理时,存在一个潜伏着锁的令人讨厌的错误。上个星期我一直被咬伤,因为儿童过程偶尔会挂起。既然我已经禁用了日志记录,那么这么好(虽然不是最好的解决方案!)。:
https://twiki.cern.ch/twiki/bin/view/Main/PythonLoggingThreadingMultiprocessingIntermixedStudy
答案 1 :(得分:1)
除了KISS的基本原则....去吧,不应该有任何问题。