Python day15_进程

进程池

实例如下:

import multiprocessing
import time
    
# 复制任务
def copy_work():
    print("正在复制中..", multiprocessing.current_process().pid)
    time.sleep(0.001)

# 进程池: 池子里面放的都是进程,进程的创建有进程池负责,执行任务的时候循环利用指定进程大小个数执行对应的任务
if __name__ == '__main__':
    # 创建进程池 3: 进程池中进程的最大个数
    pool = multiprocessing.Pool(3)
    # 模拟大批量的复制任务,让进程池去执行
    for i in range(10):
        # apply表示同步执行,表示一个任务执行完成另外一个任务才能执行
        # pool.apply(copy_work)
        # apply_async:表示异步执行,异步是不会等待其它任务执行完成以后再去执行,多个任务一起执行
        pool.apply_async(copy_work)

    # 关闭进程池,不再接收其它任务
    pool.close()
    # 主进程等待进程池执行完成以后再退出
    pool.join()

你可能感兴趣的:(Python day15_进程)