多进程

进程池模块调用:from concurrent.futures import ProcessPoolExecutor

from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor
import time,random,os

def task(name):
    print('%s%s is running'%(name,os.getpid()))
    time.sleep(random.randint(1,3))

if __name__ == '__main__':
    # print(os.cpu_count())  #查看cpu的核数
    p=ProcessPoolExecutor(4) #创建4个进程
    #提交任务的俩种方式
    #同步调用:提交完一个任务之后,在原地等待,等待任务完完整整的运行完毕拿到结果后,在执行下一行代码,会导致任务是串行执行的
    #异步调用: 提交完一个任务之后,不在原地等待,结果???,而是直接执行下一行代码,会导致任务是并发执行的
    for i in range(20):
        p.submit(task,"进pid:")
    print('')
创建4个进程

代码实现创建一个进程池,里面有四个进程在运行,每个进程运行完之后,就和接下一个任务继续执行,一个任务完之后不会结束,再重新创一个,耗费资源

原文地址:https://www.cnblogs.com/zhouhao123/p/10995304.html