Python中如何使用start()函数启动并发执行的多个进程
发布时间:2023-12-29 05:39:53
在Python中,可以使用multiprocessing模块中的Process类来创建并发执行的多个进程。可以通过调用start()函数来启动这些进程。
下面是一个使用start()函数启动并发执行的多个进程的例子:
import time
import multiprocessing
# 定义一个函数,作为进程的执行内容
def function(name):
print(f'进程{name}开始执行')
time.sleep(2) # 模拟进程执行的耗时操作
print(f'进程{name}执行结束')
if __name__ == '__main__':
processes = [] # 存储创建的进程对象
# 创建并启动10个进程
for i in range(10):
p = multiprocessing.Process(target=function, args=(i,))
processes.append(p)
p.start()
# 等待每个进程结束
for p in processes:
p.join()
print('所有进程执行结束')
在上面的例子中,首先定义了一个function函数作为进程的执行内容。在该函数中,首先打印出进程的编号以及开始执行的信息,然后模拟了一个耗时2秒的操作,最后再打印出进程执行结束的信息。
在主程序中,首先创建了一个空的进程列表processes,然后使用for循环创建了10个进程并启动它们。每个进程都使用Process类创建,传入了要执行的函数和该函数所需的参数。
创建并启动所有进程后,使用for循环和join()函数来等待每个进程结束。join()函数用于等待该进程执行结束,然后再继续执行后续的代码。
最后,在所有进程都执行结束后,会打印出所有进程执行结束的信息。
通过上述例子,可以看到使用start()函数可以方便地启动并发执行的多个进程。需要注意的是,在使用并发执行时,每个进程是由操作系统调度的,因此它们的执行顺序是不确定的。
