一般我们 使用Python创建新的 进程代码:
import multiprocessing
#这是新创建的进程 要执行的任务
def func(*args):
pass
p = multipeocessing.Process(target=func,args=(*args))
p.start()
那么下面我们来看 使用面向对象来创建 新进程
import multiprocessing
class My_Process(multiprocessing.Process):
#重写 初始化函数
def __init__(self,*args,**kwargs):
super().__init__()
self.args = args
self.kwargs = kwargs
"""
这就是 我们 新进程要执行的任务
run 默认会在 父类的 start函数中调用
"""
def run(self):
print(self.args)
print(self.kwargs
以上 切记不可 重写 父类中的 start方法
现在,创建新进程 只需要 创建 My_Process的实例对象,调用 父类的 start方法即可
p = My_Process(1,2,3,a=1,b=2,c=3)
p.start()
结果
(1,2,3)
{a:1,b:2,c:3}
查看进程 ps -aux | grep python 可以看到 Python新的进程 创建成功!
多线程 是一样的道理,将继承的类改为 threading.Thread 即可。