#方式一:
from multiprocessing import Process # 开启子进程
import time
def task(name):
print("%s is running" % name)
time.sleep(3)
print("%s is done" % name)
if __name__ == "__main__":
#Process(target=task,kwargs={"name":"子进程1"}) # 字典的方式传参
p = Process(target=task,args=("子进程1",)) # 实例化task得到对象p,元组的方式传参
p.start() # 仅仅只是给操作系统发送了一个信号,即操作系统申请内存空间,把父进程的地址空间的数据拷贝给子进程,
# 作为子进程运行的初始状态,开始运行之后再去执行task函数的功能
print("主进程")
#方式二:
from multiprocessing import Process # 开启子进程
import time
class Myprocess(Process):
def __init__(self,name):
super().__init__() # 如果有用到父类的功能需要重用一下父类的init功能
self.name = name # 这里再定义自己的功能
def run(self): # 固定函数名run
print("%s is running" % self.name)
time.sleep(3)
print("%s is done" % self.name)
if __name__ == "__main__":
p = Myprocess("子进程1")
p.start() # 默认调用的是Myprocess下面的run方法
print("主进程")