Py004-01-01进程的开启方式

进程

要引入进程模块

1
from multiprocessing import Process

开启进程方式一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

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__':
# args传递的参数必须是元组的形式
p = Process(target=task,args=('子进程',))
# 关键字参数方式
p2 = Process(target=task,kwargs={'name':'子进程2'})

p.start()
p2.start()

print('主进程。。。。1')
print('主进程。。。。2')
print('主进程。。。。3')

'''
执行结果
主进程。。。。1
主进程。。。。2
主进程。。。。3
子进程 is running
子进程2 is running
'''

开启进程方式二(自己定制)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from multiprocessing import Process
import time

class MyProcess(Process):
def __init__(self,name):
super().__init__()
self.name = name
# 自定制的进程 就不能叫task了 必须叫 run
def run(self):
print('%s is running' % self.name)
time.sleep(3)
print('%s is done' % self.name)

if __name__ == '__main__':
p = MyProcess('子进程1')
p.start()

print('主进程。。。1')
print('主进程。。。2')
print('主进程。。。3')