# 方式一,通常使用
from multiprocessing import Process
import time
def task(x):
print('%s is running' % x)
time.sleep(1)
print('%s is done' % x)
if __name__ == '__main__':
# Process(target=task,kwargs={'x':'子进程'})
# Process的参数:target-->指的是你进程造出来执行的任务是哪个
p = Process(target=task, args=('子进程',))
print(p)
p.start()#只是向操作系统发起一个开启子进程的信号
#信号发出去后父进程继续执行
print('主')
# 方式二(了解)
from multiprocessing import Process
import time
class MyProcess(Process):
def run(self):#run这个名不能改
print('%s is running' % self.name) #self.name是内置方法
time.sleep(3)
print('%s is done' % self.name)
if __name__ == '__main__':
p = MyProcess()
p.start()#p.run()
# p.start()就是在调run方法
print('主')
# 方式二的自定义版
from multiprocessing import Process
import time
class MyProcess(Process):
def __init__(self,name):
super().__init__()
self.name = name
def run(self):#run这个名不能改
print('%s is running' % self.name) #self.name是内置方法
time.sleep(3)
print('%s is done' % self.name)
if __name__ == '__main__':
p = MyProcess('子进程1')
p.start()#p.run()
# p.start()就是在调run方法
print('主')