原文: https://www.cnblogs.com/LY-C/p/9145729.html 使用process模块可以创建进程 from multiprocessing import Processp = Process(target,args,name)target:表示调用对象,即子进程要执行的任务args:表示调用对象的
原文:https://www.cnblogs.com/LY-C/p/9145729.html
使用process模块可以创建进程
from multiprocessing import Process p = Process(target,args,name) target:表示调用对象,即子进程要执行的任务 args:表示调用对象的位置参数”元组“ name:进程的名字
方法
p.start():启动进程,系统决定什么时候调用p.run() p.run():立即运行进程 p.terminate():强制终止进程p,不会进行任何清理操作,如果p创建了子进程,该子进程就成了僵尸进程,使用该方法需要特别小心这种情况。如果p还保存了一个锁那么也将不会被释放,进而导致死锁 p.is_alive():判断p进程是否还存在,如果p仍然运行,返回True p.join([timeout]):让主进程等待子进程执行完毕(强调:是主线程处于等的状态,而p是处于运行的状态)。timeout是可选的超时时间,需要强调的是,p.join只能join住start开启的进程,而不能join住run开启的进程
属性
p.daemon:默认值为False,如果设为True,代表p为后台运行的守护进程,当p的父进程终止时,p也随之终止,并且设定为True后,p不能创建自己的新进程,必须在p.start()之前设置 p.name:进程的名称 p.pid:进程的pid
示例
from multiprocessing import Process import time def func(name): print(‘son 的名字是 %s ‘%name) time.sleep(5) print(‘这里是son‘) if __name__ == ‘__main__‘: p = Process(target = func,args=(‘xxx‘,)) p.start() time.sleep(2) p.join()# 代码执行到这里,主进程main会停止等待子进程执行完毕才继续 print(‘这里是father‘)