目标:
    1:知道进程之间不能共享全局变量
    2:掌握子进程访问(修改)全局变量的底层原理
    3:掌握怎么给进程指定的函数传递参数!

    一:验证子进程之间不能共享一个全局变量

    验证思想:定义一个函数work1,对一个全局变量进行累加处理,在定义一个work2函数读取这个全局变量,再定义两个子进程,两个子进程分别执行这两个函数任务,如果执行读取全局变量的进程可以成功读取到另一个进程修改后的全局变量,那么说明多个进程间可以共享全局变量,如果执行读取全局变量的进程读取到的全局变量是没有修改的全局变量,说明多个进程之间不可以共享全局变量!!!

    为什么子进程间不能共享全局变量?

    答:因为子进程只是把全局变量的值都复制到自己内部然后独立修改,不会修改全局变量的值,因此多个子进程间互不影响

    子进程间不能共享全局变量的例子:计算机打开微信(子进程1)与浏览器(子进程2)如果子进程间可以共享全局变量的话,那么在微信上的聊天记录不就被浏览器获取了嘛!

    程序设计截图

    image.png

    二:子进程访问(修改、读取)全局变量的底层原理

    原理图示:

    image.png

    注意事项:子进程访问(修改)全局变量时并不会真正改变全局变量的值,而是将全局变量的值复制下来供自己使用,并不会真正的改变全局变量的值!

    三:给子进程指定的任务函数传递参数

    传递方法:
    1:args(元组法)
    2:kwargs(字典法)
    3:args、kwargs(元组字典法)

    快速代码体验

    image.png