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

  • 相关阅读:
    一个切换鼠标左右手的小工具
    聊一聊高并发高可用那些事
    PHP 笔记
    PHP 安装 XDebug
    php symfony/var-dumper 打印插件
    PHP字符串和数组
    ThinkPHP自定义分页模板
    匿名函数
    SQL优化工具
    spring cloud 服务容错保护
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/10966617.html
Copyright © 2011-2022 走看看