python并发

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

2018-12-24  本文已影响7人  花间派I风月

有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

上一篇 下一篇

猜你喜欢

热点阅读