之前,稍微接触和学习了一下RPC的概念。
最近,又有了一些认识,记录一下。
首先,进程间为什么需要通信呢?
我做过很长一段时间单进程(多线程)桌面应用的开发,不同的进程一般在不同的机器上,也就是分属不同的应用程序。应用程序之间(进程之间)通信,通过网络(TCP、UDP)、串口(RS424、RS232、1553B)等方式,这种通信不是我们现在说的“进程间通信”。
在接触到前端的知识后,知道了进程间通信的一个典型例子:浏览器(也可以看做一个桌面应用)。
浏览器是多进程的,包括Browser进程、Renderer进程和Plugin进程。每开一个Tab也就会起一个Renderer进程。类似下面的样子:
Browser进程是主进程,负责管理各个Renderer进程、Plugin进程,所以自然需要与之通信。