多进程和子进程有什么区别?
问题描述
我的工作应该使用并行技术,我是 python 的新用户.所以我想知道你是否可以分享一些关于 python multiprocessing
和 subprocess
模块的材料.这两者有什么区别?
My work should use parallel techniques, and I a new user of python. So I wonder if you could share some material about the python multiprocessing
and subprocess
modules. What is the difference between these two?
解决方案
subprocess
模块让您可以运行和控制其他程序.任何可以从计算机上的命令行开始的东西,都可以通过这个模块运行和控制.使用它来将外部程序集成到您的 Python 代码中.
The subprocess
module lets you run and control other programs. Anything you can start with the command line on the computer, can be run and controlled with this module. Use this to integrate external programs into your Python code.
multiprocessing
模块允许您将用 python 编写的任务划分到多个进程中,以帮助提高性能.它提供了一个非常类似于 threading
模块的 API;它提供了在它创建的进程之间共享数据的方法,并使管理多个进程以运行 Python 代码的任务(更)容易.换句话说,multiprocessing
让您可以利用多个进程通过并行执行代码来更快地完成任务.
The multiprocessing
module lets you divide tasks written in python over multiple processes to help improve performance. It provides an API very similar to the threading
module; it provides methods to share data across the processes it creates, and makes the task of managing multiple processes to run Python code (much) easier. In other words, multiprocessing
lets you take advantage of multiple processes to get your tasks done faster by executing code in parallel.
相关文章