Python编程之多进程(multiprocessing)详解

引言

multiprocessing是一个用于产生多进程的包,与threading模块的API类似。multiprocessing既可以实现本地的多进程,也可以实现远程的多进程。通过使用多个子进程而非线程可以绕开Python的全局解释器锁(GIL),同时允许在多种系统平台使用。

创新互联公司专业提供川西大数据中心服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买川西大数据中心服务,并享受7*24小时金牌售后服务。

1. Process 模块

1.1 Process介绍

Process模块是一个创建进程的模块,可以通过Process直接创建进程。

multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)


"""
参数介绍:
    
    1. group默认为None(目前未使用)
    2. target代表调用对象,即子进程执行的任务
    3. name为进程名称
    4. args调用对象的位置参数元组,args=(value1, value2, ...)
    5. kwargs调用对象的字典,kwargs={key1:value1, key2:value2, ...}
6. daemon表示进程是否为守护进程,布尔值
    
方法介绍:
  Process.start() 启动进程,并调用子进程中的run()方法
  Process.run() 进程启动时运行的方法,在自定义时必须要实现该方法
  Process.terminate() 强制终止进程,不进行清理操作,如果Process创建了子进程,会导致该进程变成僵尸进程
  Process.join() 阻塞进程使主进程等待该进程终止
  Process.kill() 与terminate()相同
  Process.is_alive() 判断进程是否还存活,如果存活,返回True
  Process.close() 关闭进程对象,并清理资源,如果进程仍在运行则返回错误
  
"""


文章标题:Python编程之多进程(multiprocessing)详解
标题路径:http://myzitong.com/article/dsogpcp.html