RPC

简介

全称 Remote Procedure Call,中文意思远程过程调用。是一个计算机通讯协议,该协议允许一台计算机的程序,调用另一台计算机的地址空间的程序,就好像程序自己调用本地方法一样,无需额外的编程。RPC 是一种服务器 - 客户端的模式。

Threads

线程

每一个线程都有他自己的地址空间,并且他只有一个程序计数器,一套寄存器,一个独立的栈。仅需要这些能描述当前运行状态的东西。

进程

每一个进程都有自己地址空间,不允许其他进程使用。进程里可以有很多线程。他相当于独立运行的程序,操作系统的约定就是让程序之间互相无法感知对方的存在,这么做的好处是内存地址好管理,也能保证多程序运行时内存的安全。

多线程使用场景

IO 并发

读取硬盘,网络请求都是 IO 操作。

并行计算

繁重的计算任务可以使用计算机上所有 CPU 来运算。

守护服务

隔一段时间去检查系统状态。

事件驱动编程

在 Windows 编程,Android 编程,intellij plugin 编程中常常用到。
一个不间断循环,一直工作,接收任务线程或其他客户端发来的消息,工作线程来循环中不断获取任务。
LEC 1: RPC & Threads - 图1

这种模式的缺点是无法最大程度的利用 CPU。