Skip to content

Latest commit

 

History

History
54 lines (35 loc) · 1.08 KB

File metadata and controls

54 lines (35 loc) · 1.08 KB

进程间数据隔离

进程隔离是为保护操作系统中进程互不干扰而设计的一组不同硬件和软件的技术

这个技术是为了避免进程A写入进程B的情况发生。 进程的隔离实现,使用了虚拟地址空间。进程A的虚拟地址和进程B的虚拟地址不同,这样就防止进程A将数据信息写入进程B

进程隔离的安全性通过禁止进程间内存的访问可以方便实现

代码验证

  • 不可变类型

    from multiprocessing import Process
    
    name = 'lucky'
    
    def a():
        global name
        name = 'zhangsan'
        print('函数a内部打印', name)
    
    
    
    if __name__ == '__main__':
        p = Process(target=a)
        p.start()
        p.join()
        # a()
        print(name)
  • 可变类型

    from multiprocessing import Process
    
    name = ['lucky']
    
    def a():
        global name
        name.append('zhangsan')
        print('函数a内部打印', name)
    
    
    
    if __name__ == '__main__':
        p = Process(target=a)
        p.start()
        p.join()
        # a()
        print(name)