1. 理解进程与多进程
理论讲解:
-
进程是操作系统中资源分配的基本单位,每个进程都有独立的内存空间。
-
多进程允许同时运行多个进程,提高CPU利用率和程序响应速度。
示例代码:
import os
print("当前进程ID:", os.getpid())
2. 使用multiprocessing
模块创建子进程
理论讲解:
multiprocessing
模块提供了创建和管理子进程的方法。
示例代码:
from multiprocessing import Process
import time
def worker():
print("Worker 进程ID:", os.getpid())
time.sleep(1)
if __name__ == "__main__":
p = Process(target=worker)
p.start()
p.join() # 等待子进程结束
3. 进程池管理
理论讲解:
- 进程池可以控制并发执行的进程数量,提高效率和资源利用。
示例代码:
from multiprocessing import Pool
def square(x):
return x * x
if __name__ == "__main__":
with Pool(4) as p:
result = p.map(square, range(10))
print(result)
4. 进程间通信:队列
理论讲解:
- 队列是进程间通信的安全方式,可以实现数据的无锁交换。
示例代码:
from multiprocessing import Queue, Process
def writer(q):
q.put('Hello')
def reader(q):
print(q.get())
if __name__ == "__main__":
q = Queue()
pw = Pr