1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
   | from multiprocessing import Pool import os, time, random
  def run(name):     print("子进程%s启动--%s"%(name,os.getpid()))     start =time.time()     time.sleep(random.choice([1,2,3]))     end = time.time()     print("子进程%s结束--%s耗时%.2f" % (name, os.getpid(),end-start))
 
 
  if __name__ =="__main__":     print("父进程启动")
      #创建多个进程     #进程池     #表示可以同时执行的进程数量,看有多少线程     #Pool默认大小是CPU核心数4核8处理器,就是同时处理8个进程     pp =Pool()     for i in range(10):         #创建进程,放入进程池统一管理         pp.apply_async(run,args=(i,))     #自定义创建进程名字参数1     pp.apply_async(run,args=("11",))     pp.apply_async(run,args =("test",))
      #在调用join之前必须先调用close,并且调用close之后就不能再继续添加新的进程了     pp.close()     #进程池对象调用的join,会等待进程中的所有的子进程结束完毕再去执行父进程     pp.join()
      print("父进程结束")
   |