多处理数据共享
Posted
技术标签:
【中文标题】多处理数据共享【英文标题】:Multiprocessing data sharing 【发布时间】:2012-06-21 22:26:23 【问题描述】:我想知道 Google Chrome 的多进程架构是如何工作的。据我了解,有一个进程可以呈现所有内容,并且每个页面都有一个与之关联的附加进程。我的问题是,如果一个页面加载了 100MB 的图片,它是如何传递给渲染器进程的?
换句话说,将数据从一个进程传递(复制?)到另一个进程的最快方法是什么?
换句话说,如果一个进程产生了 100 MB 的数据,如何让另一个进程读取呢? (请注意,数据是在进程分叉后产生的)。
编辑:如果子进程创建数据而父进程事先不知道数据的大小,如何将数据从子进程传递给父进程?我的意思是,“共享内存块”必须由父级创建,对吗?那么父级到底知道要分配多少空间呢?
【问题讨论】:
【参考方案1】:它的通用名称是 IPC - 进程间通信。 http://en.wikipedia.org/wiki/Inter-process_communication
现在我不知道 chrome 是如何实现它的,但我希望你能明白。如果我必须选择一个,我会说内存共享或管道,但它可能(几乎)是其中任何一个。
【讨论】:
以上是关于多处理数据共享的主要内容,如果未能解决你的问题,请参考以下文章
python中的多处理-在多个进程之间共享大对象(例如pandas数据框)