RPC
简介
全称 Remote Procedure Call,中文意思远程过程调用。是一个计算机通讯协议,该协议允许一台计算机的程序,调用另一台计算机的地址空间的程序,就好像程序自己调用本地方法一样,无需额外的编程。RPC 是一种服务器 - 客户端的模式。
Threads
线程
每一个线程都有他自己的地址空间,并且他只有一个程序计数器,一套寄存器,一个独立的栈。仅需要这些能描述当前运行状态的东西。
进程
每一个进程都有自己地址空间,不允许其他进程使用。进程里可以有很多线程。他相当于独立运行的程序,操作系统的约定就是让程序之间互相无法感知对方的存在,这么做的好处是内存地址好管理,也能保证多程序运行时内存的安全。
多线程使用场景
IO 并发
读取硬盘,网络请求都是 IO 操作。
并行计算
繁重的计算任务可以使用计算机上所有 CPU 来运算。
守护服务
隔一段时间去检查系统状态。
事件驱动编程
在 Windows 编程,Android 编程,intellij plugin 编程中常常用到。
一个不间断循环,一直工作,接收任务线程或其他客户端发来的消息,工作线程来循环中不断获取任务。
这种模式的缺点是无法最大程度的利用 CPU。