我正考虑将多处理添加到我的一个脚本中 提高绩效。
没什么特别的,主方法有1-2个参数。
运行四个克隆的相同脚本是否有任何问题 在终端上实际上将多处理添加到python代码中?
前四个核心:
~$ script.py &
script.py &
script.py &
script.py;
我读过linux / unix os会自动划分 可用核心中的程序。
对不起,如果我上面提到的^东西是完全错误的。上面没有任何东西 正式学习,这只是所有在线资料。
答案 0 :(得分:3)
如果您的要求稍微复杂一些,那么python multiprocessing
模块非常有用。例如,您可能有一个程序需要在启动时以串行方式运行,然后为更加计算密集的部分生成多个副本,最后进行一些串行后处理。 multiprocessing
对于这种同步非常宝贵。
或者,您的程序可能需要大量内存(可能需要在科学计算中存储大型矩阵,或者在Web编程中存储大型数据库)。 multiprocessing
允许您在不同进程之间共享该对象,以便您在内存中没有n个数据副本(使用multiprocessing.Value
和multiprocessing.Array
个对象)。
答案 1 :(得分:1)
使用multiprocessing
也可能成为更好的解决方案,如果您想在仅4个核心上运行脚本,例如100次。
然后你的基于终端的方法会变得非常讨厌。
在这种情况下,您可能希望使用Pool
模块中的multiprocessing
。