zoukankan      html  css  js  c++  java
  • python3 进程之间数据是隔离的

    进程之间数据是隔离的,相当于两家公司之间是隔离的

    from multiprocessing import Process
    
    
    def func(lst, name):
        lst.append(66)
        print(name, lst)
    
    
    if __name__ == '__main__':
        lst = [1, 2]
        p1 = Process(target=func, args=(lst, "进程1"))
        p2 = Process(target=func, args=(lst, "进程2"))
        p1.start()
        p2.start()
        p1.join()
        p2.join()
        print("主进程结束", lst)

    执行结果:

    进程1 [1, 2, 66]
    进程2 [1, 2, 66]
    主进程结束 [1, 2]

    接下来再看一个函数内引用全局变量的例子

    from multiprocessing import Process
    
    
    def func(name):
        print(f"{name}开始")
        global n
        n = 0
        print(f"{name}结束,n={n}")
    
    
    if __name__ == '__main__':
        n = 100
        p1 = Process(target=func, args=("进程1",))
        p2 = Process(target=func, args=("进程2",))
        p1.start()
        p2.start()
        p1.join()
        p2.join()
        print(f"主进程结束,n={n}")

    执行结果:

    进程1开始
    进程1结束,n=0
    进程2开始
    进程2结束,n=0
    主进程结束,n=100

  • 相关阅读:
    文件操作fopen
    随机数应用
    随机数
    通过命令行参数打开文件
    命令行参数
    内存分区
    const修饰指针+volatile +restrict
    类型限定词——const
    (app笔记)Appium如何开启、配置、启用
    (app笔记)Memory Fill内存填充
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/10966617.html
Copyright © 2011-2022 走看看