如何理解：程序、进程、线程、并发、并行、高并发？
程序执行有很多种方式，今天我们就来聊下并发、并行、串行、同步、异步、进程、线程、进程池 精简重点 精简重点 我们打开一个聊天软件,这就是开启了一个进程；当我们在软件里面打开一些功能,比如空间, 扫一扫, 设置...,这些操作就是线程 所以可以说 "进程" 包含 "线程", "线程" 是 "进程" 的子集 工厂流水线例子:     相关视频推荐 成也池化，败也池化，池式组件为性能飙升提供技术保障 160行代码带你手写线程池，面试不惧手撕 全网最牛的C++11线程池设计与实现（代码资料免费领取） LinuxC++后台服务器开发架构师免费学习地址 【文章福利】：小编整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面，有需要的可以自行添加哦！~点击832218493加入（需要自取）    并行必须有多核才能实现,否则只能实现并发(伪并行)       进程在运行的过程中不断地改变其运行状态 通常一个运行的进程必须具有三种状态:就绪态, 运行态, 阻塞态  一个进程在运行期间, 会不断地在一种状态切换到另一只种状态 他可以是多次处于就绪态和运行态, 也可以多次处于阻塞态, 下图是三种状态的转换图   处于就绪态的进程, 当进程调度程序为之分配了CPU的时间片后, 该进程就会由就绪态转变成运行态 处于运行态的进程在运行过程中, 因为分配的时间片用完了, 于是失去了CPU的使用权限, 运行态就会重新转为就绪态 正在运行的进程由于遇到I/O操作或被更高优先级的任务抢走CPU使用权限而无法继续执行, 便从运行态转为阻塞态 处于阻塞态的进程, 若其等待的事情已经处理完毕, 于是进程从阻塞态转为就绪态  ❶你叫我去吃饭, 我听到了就立即和你去吃饭, 如果没有听到, 你就不停的叫, 直到我告诉你听到了, 才一起去吃饭 ❷打电话好比同步, 两边是同时进行不能再打给另一个人 ❶你叫我去吃饭, 然后自己去吃饭了, 我得到消息后可能立即走, 也可能过会儿走 ❷发消息好比异步, 和一个人发完消息就可能和另一个人发消息 忙时会有成千上万的任务需要被执行，闲时可能只有零星任务。 那么在成千上万个任务需要被执行的时候，我们就需要去创建成千上万个进程么？ 首先，创建进程需要消耗时间，销毁进程也需要消耗时间。 第二即便开启了成千上万的进程，操作系统也不能让他们同时执行，这样反而会影响程序的效率。 因此我们不能无限制的根据任务去开启或者结束进程。那么我们要怎么做呢？ 管理进程如何有效的管理资源进程，分配任务给资源进程? 通过IPC，信号，信号量，消息队列，管道等进行交互。 来源：http://cnblogs.com/songhaixing/p/13799827.html 侵删~