Chrome 的 IPC 系统 Mojo


老的 IPC 系统,是基于在两个进程之间的一个大的命名管道(IPC::Channel)实现的。进程间所有的IPC消息都是通过这一个管道根据先进先出的顺序去传递,这隐含着一个副作用:不同的IPC消息之间有先后次序的依赖。这也是用Mojo取代老IPC系统的重要原因之一。

Mojo 带来的构架转变:
Mojo把原来Platform层的File、Network、UI等模块变成Foundation层File、Network、UI等services。之前是从代码层面去解决跨平台的问题,现在是从架构的层面把基础功能Service化(Mojo为每一个接口创建了一个独立的消息管道,确保不同接口的IPC是独立的)