- 多进程之间数据是隔离的
- 在windows操作系统上,启动多进程必须是放在
__main__
里面
有Join
import os
from multiprocessing import Process
def fun():
global n #声明一个全局变量
n = 0 #给该变量进行赋值
print('子进程pid: %s' %os.getpid(), n)
if __name__ == '__main__':
n = 100
p = Process(target=fun)
p.start()
p.join()
print('主进程pid:',os.getpid(), n)
输出
子进程pid: 1380 0
主进程pid: 15712 100
Process finished with exit code 0
无join
import os
from multiprocessing import Process
def fun():
global n #声明一个全局变量
n = 0 #给该变量进行赋值
print('子进程pid: %s' %os.getpid(), n)
if __name__ == '__main__':
n = 100
p = Process(target=fun)
p.start()
print('主进程pid:',os.getpid(), n)
输出
主进程pid: 17996 100
子进程pid: 12436 0
Process finished with exit code 0