知乎大神对进程和线程的总结。
- 你CPU快过IO设备, 人类作为统治阶级要压榨你, 不让你闲着, 于是一个任务(程序) 对应一个进程就出来了. 你CPU要雨露均沾的执行这些程序
- 然后呢? 人们发现 程序 还有很多可以细分的任务, 于是 多线程的设计方式出来了. 多线程的实现方案实在是太成熟了, 以至于大部分操作系统的实现是一个进程至少有一个执行线程, 于是各种桌面软件服务器软件冒出来了
- 接着呢? 人们发现 像 Web Server 这种东西, 完全是靠IO嘛, Thread Per Message 完全可以一波流, 但创建和销毁 Thread 成本依旧很高, 于是协程这种东西也就又开始流行了.
图片和文字来源:https://www.zhihu.com/question/25532384/answer/720946992
绿色门所在房间和厕所相当于 线程之间共享的 数据。