2011-06-05 25 views
4

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

回答

3

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

小心!当组合使用日志模块时暴露的线程和多处理时,还有一个潜伏着锁的令人讨厌的bug。上周我偶尔挂着孩子的过程被咬了。现在,我已经禁用日志记录,到目前为止好(虽然不是最佳的解决方案!):

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

http://bugs.python.org/issue6721

+0

6721错误无关与线程/多处理器的Windows – jfs 2012-10-20 01:30:47

+0

权,错过了Windows标签。 – ricopan 2012-10-23 04:29:16

+0

你刚刚救了我几个小时的调试......谢谢! – jbaiter 2013-07-05 20:33:30

1

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

相关问题