在Python中实现多进程,你可以使用`multiprocessing`模块,它提供了进程和进程池的管理功能。下面是一个简单的示例,展示了如何使用`multiprocessing`模块创建和启动多个进程:
from multiprocessing import Process
def worker(name):
"""子进程的工作函数,执行具体的工作任务"""
print(f"Worker {name} starting...")
在这里添加你的工作任务代码
print(f"Worker {name} finished.")
if __name__ == "__main__":
创建并启动多个子进程
processes = []
for i in range(5):
p = Process(target=worker, args=(i,))
p.start()
processes.append(p)
等待所有子进程结束
for p in processes:
p.join()
print("All workers finished.")
在这个示例中,我们首先定义了一个`worker`函数,它将在每个子进程中执行。然后,在`__main__`块中,我们创建了一个`Process`实例的列表,并为每个实例指定了`worker`函数作为目标,同时传递了参数。通过调用`start()`方法,我们启动了每个进程。最后,我们使用`join()`方法等待所有子进程完成。
`multiprocessing`模块还提供了其他有用的类和函数,如`Pool`用于管理进程池,`Queue`用于进程间安全地传递数据,`Lock`和`Event`用于同步和通信等。
请注意,在Windows系统上,`fork()`系统调用不可用,但`multiprocessing`模块仍然可以工作,因为它使用了`spawn`启动方法来创建子进程。