我正在考虑使用Python来实现一个需要大量多线程的程序。另一个要求是它可以在桌面上运行,所以有很多进程会使应用程序看起来很混乱,更难杀死(在任务管理器中)。因此,我正在考虑同时使用线程和多处理模块来减少进程的数量。据我所知,GIL只适用于单一程序。我的问题是:是否有任何理由不混合使用这两个模块?是否有任何理由不要在Python中混合使用多处理和线程模块
4
A
回答
3
注意:此警告不适用于Windows。
小心!当组合使用日志模块时暴露的线程和多处理时,还有一个潜伏着锁的令人讨厌的bug。上周我偶尔挂着孩子的过程被咬了。现在,我已经禁用日志记录,到目前为止好(虽然不是最佳的解决方案!):
https://twiki.cern.ch/twiki/bin/view/Main/PythonLoggingThreadingMultiprocessingIntermixedStudy
1
除了基本原理KISS ....去吧,不应该有任何问题。
相关问题
- 1. 在Python 3中是否使用模块线程和多处理相互排斥?
- 2. 使用QThread和线程模块进行Python多线程处理
- 3. 状态混合多处理和在Python
- 4. 是否有任何理由在混合代码项目中使用javac over groovyc?
- 5. 线程模块是否真的在python中并行?还是我们需要使用多处理?
- 6. 试用线程和多处理模块,python
- 7. Python模块“预处理” - 是否存在?
- 8. 是否有任何python内置模块使用线程?
- 9. 是否值得在Python中使用多线程blas实现和多处理?
- 10. 是否有任何理由使用[:over @:?
- 11. 是否有任何理由使用isset()?
- 12. 是否有任何理由使用System.Uri?
- 13. 线程/多处理在Python
- 14. Python:是否有任何意义使用多处理和线程(对于相同的任务)?
- 15. 是否有理由在Python中导入字符串模块?
- 16. Python - 多线程/多处理
- 17. 使用多处理模块
- 18. Python线程管理模块
- 19. python多处理不处理任务
- 20. 程序员是否有任何理由使用System.in.read()中的char?
- 21. Python,使用多处理线程
- 22. 使用python进行多线程处理
- 23. Python - 使用多处理内的线程
- 24. 模块和处理程序有多重要?
- 25. 是否有任何理由在C#中使用私有属性?
- 26. 如何在Python中正确使用多处理模块?
- 27. 如何在django视图中使用python多重处理模块
- 28. 如何在python多处理模块中使用部分函数?
- 29. 如何在Python 3中使用asyncore与多处理IPC模块?
- 30. 如何在Python多处理模块中使用Pool.join()?
6721错误无关与线程/多处理器的Windows – jfs 2012-10-20 01:30:47
权,错过了Windows标签。 – ricopan 2012-10-23 04:29:16
你刚刚救了我几个小时的调试......谢谢! – jbaiter 2013-07-05 20:33:30