Jun*_* HU 57 python subprocess multiprocessing
我的工作应该使用并行技术,我是python的新用户.所以我想知道你是否可以分享一些关于python multiprocessing和subprocess模块的资料.这两者有什么区别?
Mar*_*ers 76
该subprocess模块允许您运行和控制其他程序.可以使用此模块运行和控制您可以从计算机上的命令行开始的任何操作.使用它将外部程序集成到Python代码中.
该multiprocessing模块允许您在多个进程中划分用python编写的任务,以帮助提高性能.它提供了与threading模块非常相似的API ; 它提供了跨所创建的流程共享数据的方法,并使管理多个流程的任务更容易运行Python代码.换句话说,multiprocessing通过并行执行代码,您可以利用多个进程来更快地完成任务.
unu*_*tbu 29
如果你想调用一个外部程序(特别是一个不是用Python编写的程序)使用subprocess.
如果要在子进程中调用Python函数,请使用multiprocessing.
(如果程序是用Python编写的,但也是可导入的,那么我会尝试使用它来调用它的函数multiprocessing,而不是通过外部调用它subprocess.)
DNS*_*DNS 14
子进程产生新进程,但除了stdin/stdout以及其他程序可能实现的其他API之外,您无法与它们进行通信.其主要目的是启动与您自己的程序完全分离的流程.
多处理还会生成新进程,但它们运行您的代码,并且旨在相互通信.您可以使用它在多个CPU核心内划分自己程序中的任务.
| 归档时间: |
|
| 查看次数: |
19355 次 |
| 最近记录: |