属性名或方法名 | 功能 |
---|---|
run() | 第 2 种创建进程的方式需要用到,继承类中需要对方法进行重写,该方法中包含的是新进程要执行的代码。 |
start() | 和启动子线程一样,新创建的进程也需要手动启动,该方法的功能就是启动新创建的线程。 |
join([timeout]) | 和 thread 类 join() 方法的用法类似,其功能是在多进程执行过程,其他进程必须等到调用 join() 方法的进程执行完毕(或者执行规定的 timeout 时间)后,才能继续执行; |
is_alive() | 判断当前进程是否还活着。 |
terminate() | 中断该进程。 |
name属性 | 可以为该进程重命名,也可以获得该进程的名称。 |
daemon | 和守护线程类似,通过设置该属性为 True,可将新建进程设置为“守护进程”。 |
pid | 返回进程的 ID 号。大多数操作系统都会为每个进程配备唯一的 ID 号。 |
def __init__(self,group=None,target=None,name=None,args=(),kwargs={})
其中,各个参数的含义为:from multiprocessing import Process import os print("当前进程ID:",os.getpid()) # 定义一个函数,准备作为新进程的 target 参数 def action(name,*add): print(name) for arc in add: print("%s --当前进程%d" % (arc,os.getpid())) if __name__=='__main__': #定义为进程方法传入的参数 my_tuple = ("http://task.lmcjl.com/python/",\ "http://task.lmcjl.com/shell/",\ "http://task.lmcjl.com/java/") #创建子进程,执行 action() 函数 my_process = Process(target = action, args = ("my_process进程",*my_tuple)) #启动子进程 my_process.start() #主进程执行该函数 action("主进程",*my_tuple)程序执行结果为:
当前进程ID: 12980
主进程
http://task.lmcjl.com/python/ --当前进程12980
http://task.lmcjl.com/shell/ --当前进程12980
http://task.lmcjl.com/java/ --当前进程12980
当前进程ID: 12860
my_process进程
http://task.lmcjl.com/python/ --当前进程12860
http://task.lmcjl.com/shell/ --当前进程12860
http://task.lmcjl.com/java/ --当前进程12860
from multiprocessing import Process import os print("当前进程ID:",os.getpid()) # 定义一个函数,供主进程调用 def action(name,*add): print(name) for arc in add: print("%s --当前进程%d" % (arc,os.getpid())) #自定义一个进程类 class My_Process(Process): def __init__(self,name,*add): super().__init__() self.name = name self.add = add def run(self): print(self.name) for arc in self.add: print("%s --当前进程%d" % (arc,os.getpid())) if __name__=='__main__': #定义为进程方法传入的参数 my_tuple = ("http://task.lmcjl.com/python/",\ "http://task.lmcjl.com/shell/",\ "http://task.lmcjl.com/java/") my_process = My_Process("my_process进程",*my_tuple) #启动子进程 my_process.start() #主进程执行该函数 action("主进程",*my_tuple)程序执行结果为:
当前进程ID: 22240
主进程
http://task.lmcjl.com/python/ --当前进程22240
http://task.lmcjl.com/shell/ --当前进程22240
http://task.lmcjl.com/java/ --当前进程22240
当前进程ID: 18848
my_process进程
http://task.lmcjl.com/python/ --当前进程18848
http://task.lmcjl.com/shell/ --当前进程18848
http://task.lmcjl.com/java/ --当前进程18848
本文链接:http://task.lmcjl.com/news/5676.html