黑马程序员 Python 高级语法进阶教程 - 第3节 多进程完成多任务
在前两节中,我们已经了解了什么是进程,以及进程在多任务编程中的重要性。本节将进入实战部分:如何使用多进程来完成多任务。这不仅是理论上的延伸,更是每个想掌握并发编程的 Python 程序员必修的一步。
一、什么是多进程?
简单来说,“多进程”就是在一个程序中开启多个子进程,每个进程独立执行一项任务。这样可以同时进行多个操作,提高程序的执行效率,尤其适用于 CPU 密集型任务或需要并发处理多个任务的场景。
二、3.1 创建进程的基本步骤
在 Python 中实现多进程的操作,其实非常简单,只需要三步:
1. 导入进程包:
import multiprocessing
2. 创建进程对象:
进程对象 = multiprocessing.Process()
3. 启动进程执行任务:
进程对象.start()
✅ 一个
.start()
就能让任务在新的进程中“独立奔跑”,让程序从此不再单打独斗。
三、3.2 通过 Process
类创建进程对象
我们在创建 Process
对象时,通常会传入一个参数 target
,这个参数指定了进程要执行的函数。
进程对象 = multiprocessing.Process(target=任务函数)
可选参数说明:
参数名 | 说明 |
---|---|
target | 要执行的目标函数(任务名) |
name | 进程名(一般不用设置) |
group | 进程组,目前只能使用 None |
四、3.4 案例实战:多任务并发执行
来看一个经典的多任务实战案例:我们希望同时做两件事——听音乐和敲代码。
代码示例:
import multiprocessing
def coding():
for i in range(3):
print("coding...")
def music():
for i in range(3):
print("music...")
# 创建进程对象
coding_process = multiprocessing.Process(target=coding)
music_process = multiprocessing.Process(target=music)
# 启动进程
coding_process.start()
music_process.start()
运行结果如下:
coding...
music...
coding...
music...
...
可以看到两个任务是并发执行的,而不是像之前一样串行执行。这就是多进程带来的高效率。
五、知识要点回顾
✅ 多进程是 Python 实现多任务的一种方式,以下是最核心的用法总结:
-
导入进程包
import multiprocessing
-
创建子进程并指定执行的任务
multiprocessing.Process(target=任务函数)
-
启动子进程
进程对象.start()
六、我的理解与收获
这一节课程让我明白了一个道理:不是所有任务都要挤在一个进程里完成,程序也要学会“分工协作”。
用 multiprocessing
可以轻松将一个大任务拆分成多个小任务,由多个进程独立完成。这种方式在处理计算密集型任务、批量下载、图像识别等项目中非常实用。
同时我也发现,虽然语法简单,但使用多进程也要注意资源隔离、进程间通信等问题。这会在后续课程中逐步讲解。
七、下一节预告
在下一节中,我们将继续深入学习多进程中的进程执行顺序、主进程与子进程的关系,并了解如何使用 join()
控制进程等待。
敬请期待《第4节 主进程与子进程的运行关系》!
📌 课程来源:黑马程序员 Python 高级语法教程(www.itheima.com)
📌 配图参考:进程创建步骤、Process 参数表、PyCharm 实战运行截图
多进程是打开高效程序世界的第一扇门,别害怕复杂,动手写起来,你就会发现:并发其实没那么难!
—— END ——