【发布时间】:2015-06-15 09:19:31
【问题描述】:
我了解了python中的多处理工具:https://docs.python.org/2/library/multiprocessing.html。
假设我有一个复杂且充实的 python 程序,但它在运行时并没有耗尽我所有的内核。所以它使用 100% 的一个核心并且需要很长时间才能完成。我很难进入程序代码并弄清楚如何手动拆分进程,只是程序太复杂了。
是否可以编写一个简单的 python 脚本,在我指定的任何 python 程序上启用多处理?确切地说,我想要这样简单的东西:
from multiprocessing import Process
Process(myprogram.py)
如果没有,是否有次优方法?
【问题讨论】:
-
是否可以同时运行多个实例?它是读取还是写入数据?
-
如果有问题的程序在某些数据集上进行处理,并且无法通知程序处理较小的数据集块;答案是否定的。(软件开发几乎从来没有灵丹妙药!)。
-
@JamesMills 好吧,所以我肯定需要指定块。这令人失望,但也是我的实际预期。
-
程序做什么并不重要;但是您需要能够启动 N 个不同的进程,这些进程开始处理 M 个不同的输入数据块。
-
那么不可能同时运行多个程序实例。读取或写入数据时迟早会发生冲突。
标签: python parallel-processing multiprocessing python-multiprocessing