我正在尝试理解 Python 中的线程。我查看了文档和示例,但坦率地说,许多示例过于复杂,我无法理解它们。
您如何清楚地显示为多线程划分的任务?
原文由 albruno 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试理解 Python 中的线程。我查看了文档和示例,但坦率地说,许多示例过于复杂,我无法理解它们。
您如何清楚地显示为多线程划分的任务?
原文由 albruno 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
自从 2010 年提出这个问题以来,如何使用 map 和 pool 使用 Python 进行简单的多线程处理已经有了真正的简化。
下面的代码来自一篇文章/博客文章,您一定要查看(无从属关系)- 一行中的并行性:日常线程任务的更好模型。我将在下面进行总结 - 它最终只是几行代码:
这是以下的多线程版本:
描述
执行
multiprocessing.dummy
与多处理模块完全相同, 但使用线程代替( 一个重要的区别- 使用多个进程进行 CPU 密集型任务;线程用于(和期间)I/O ):以及计时结果:
传递多个参数( 仅在 Python 3.3 及更高版本中 有效):
传递多个数组:
或者传递一个常量和一个数组:
如果您使用的是早期版本的 Python,则可以通过 此解决方法 传递多个参数)。
(感谢 user136036 的有用评论。)