执行步骤;
  1. 需要将要做的事情封装成函数
  2. 使用multiprocessing提供的类Process创建进程对象
  3. 通过进程对象和Process初始化进程进行进程的设置,绑定函数
  4. 启动进程,会自动执行绑定的函数
  5. 完成进程的回收
函数:
  Process()
    功能: 创建进程对象
    参数: target : 要绑定的函数
           name : 给进程起的名称 (默认Process-1)
           args: 元组 用来给target函数位置传参
           kwargs : 字典  用来给target函数键值传参
  p.start()
    功能 : 启动进程
    * 自动运行terget绑定函数。此时进程才真正的被创建
  p.join([timeout])
    功能: 阻塞等待子进程退出
    参数: 超时时间
multiprocessing创建进程的特性:
  * 使用multiprocessing创建进程子进程同样复制父进程的全部内存空间,之后有自己独立的空间,执行上互不干扰
  * 子进程也是有自己特有的PID等资源
  * 如果不使用join回收可能会产生僵尸进程
  * 使用multiprocessing创建子进程,一般父进程功能就是创建子进程回收子进程,所有事件交给子进程完成
代码示例from multiprocessing import Processfrom time import sleep
import os def th1(): sleep(3) print("chifan") print(os.getppid(),"-----",os.getpid()) def th2(): sleep(2) print("shuijiao") print(os.getppid(),"-----",os.getpid()) def th3(): sleep(4) print("dadoudou") print(os.getppid(),"-----",os.getpid()) things= [th1,th2,th3] process = [] for th in things: p = Process(target = th) process.append(p) p.start() #循环回收进程 for i in process: i.join()
原文:https://www.cnblogs.com/zengsf/p/9631597.html