我注意到我可以访问子进程函数/目标之外的子进程中的函数和模块。所以我想知道我什么时候在python中创建子进程它是否复制了当前进程中的所有内容?为什么我可以访问子目标之外的函数和导入的模块?
from multiprocessing import Process, Pipe
def test1(): return "hello"
def simpleChildProcess( childPipe ): # simpleChildProcess can access test1 function foo = test1() childPipe.send( foo )
parentPipe, childPipe = Pipe() childProcess = Process( target=simpleChildProcess, args=(childPipe,) )
childProcess.start()
print "Pipe Contains: %s" % parentPipe.recv()
创建子进程复制的内容与创建子进程使用的方法有关,不同平台环境下略有不同,可以参考
https://chenwenjia1991.github.io/2018/11/16/Python3-5-6-multiprocessing-%E7%94%A8%E6%88%B7%E6%96%87%E6%A1%A3/#Context-%E4%B8%8E-start-%E6%96%B9%E6%B3%95
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。