欢迎访问宙启技术站
智能推送

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()函数可以方便地启动并发执行的多个进程。需要注意的是,在使用并发执行时,每个进程是由操作系统调度的,因此它们的执行顺序是不确定的。