2. python多进程之间的数据隔离

  • 多进程之间数据是隔离的
  • 在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
    原文作者:花间派I风月
    原文地址: https://www.jianshu.com/p/387e012e5217
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞