1.进程:调用计算机CPU运行工作;
2.进程实例:
import multiprocessing
def func(args):
print(args)
if __name__=='__main__':
for i in range(10):
multiprocessing.Process(target = func,args=('进程 >>> %s' %i ,)).start()
输出:
进程 >>> 2
进程 >>> 0
进程 >>> 1
进程 >>> 8
进程 >>> 6
进程 >>> 3
进程 >>> 4
进程 >>> 5
进程 >>> 9
进程 >>> 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
3.类创建的进程方式:
import mulitprocess
class MyProcess(multiprocessing.Process):
def run(self):
print('当前进程:', multiprocessing.current_process().name)
if __name__ == '__main__':
t1 = MyProcess().start()
t2 = MyProcess().start()
输出:
当前进程: MyProcess-2
当前进程: MyProcess-1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
3.进程名字获取:
import multiprocessing , time
def func(args):
p = multiprocessing.current_process()
print(p.name)
time.sleep(2)
print(args)
if __name__=='__main__':
print('主线程 >>> 1')
p1 = multiprocessing.Process(target = func,args=('支进程 >>> %s' %1 ,))
p1.name = '>>>>p1'
p1.start()
print('主线程 >>> 2')
p2 = multiprocessing.Process(target = func,args=('支进程 >>> %s' %2 ,))
p2.name = '>>>>p2'
p2.start()
输出:
主线程 >>> 1
主线程 >>> 2
>>>>p2
>>>>p1
支进程 >>> 2支进程 >>> 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
4.进程数据共享:
import multiprocessing
def func(args,dict):
dict[args] = 10086
if __name__=='__main__':
m = multiprocessing.Manager()
dict = m.dict()
for i in range(6):
p = multiprocessing.Process(target = func,args=(i,dict,))
p.start()
p.join()
print(dict)
输出:
{0: 10086, 1: 10086, 2: 10086, 3: 10086, 4: 10086, 5: 10086}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15