多进程和子进程有什么区别?

2022-01-12 00:00:00 python subprocess multiprocessing

问题描述

我的工作应该使用并行技术,我是 python 的新用户.所以我想知道你是否可以分享一些关于 python multiprocessingsubprocess 模块的材料.这两者有什么区别?

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.

相关文章