开发写的代码咱们称为程序,那么将开发的代码运行起来。咱们称为进程。html
明白点: 当咱们运行一个程序,那么咱们将运行的程序叫进程。并发
精简重点异步
精简重点spa
是进程的一条流水线, 只用来执行程序,而不涉及到申请资源, 是程序的实际执行者最小的执行单元操作系统
线程之间交互:多个线程共享同一块内存,经过共享的内存空间来进行交互线程
因此能够说 "进程" 包含 "线程", "线程" 是 "进程" 的子集htm
工厂流水线例子:blog
进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。生命周期
线程:系统分配处理器时间资源的基本单元,或者说进程以内独立执行的一个单元执行流。线程——程序执行的最小单位。队列
进程要分配一大部分的内存,而线程只须要分配一部分栈就能够了.
一个程序至少有一个进程,一个进程至少有一个线程.
一个线程能够建立和撤销另外一个线程,同一个进程中的多个线程之间能够并发执行.
进程在运行的过程当中不断地改变其运行状态
一般一个运行的进程必须具备三种状态:就绪态, 运行态, 阻塞态。
当进程已分配到除CPU之外的全部必要的资源后,只要再得到CPU, 即可执行程序, 进程这时的状态就称为就绪态,
在一个系统中处于就绪态的进程可能有多个, 一般将他们排成一个队列, 这就叫就绪队列
当进程已经得到CPU操做权限, 其程序正在运行, 着就叫作运行态
在单核操做系统中, 只有一个进程处于运行态, 多核操做系统有多个进程处于运行态
正在执行的进程, 因为等待某个事件而没法执行时, 便被操做系统剥夺了cpu的操做时间, 这是就是阻塞态
引发阻塞的缘由多种, 例如: 等待I/O操做, 更高优先级的任务抢走了CPU权限等.
一个进程在运行期间, 会不断地在一种状态切换到另外一只种状态
他能够是屡次处于就绪态和运行态, 也能够屡次处于阻塞态, 下图是三种状态的转换图
就绪态➠➠运行态
处于就绪态的进程, 当进程调度程序为之分配了CPU的时间片后, 该进程就会由就绪态转变成运行态
运行态➠➠就绪态
处于运行态的进程在运行过程当中, 由于分配的时间片用完了, 因而失去了CPU的使用权限, 运行态就会从新转为就绪态
运行态➠➠阻塞态
正在运行的进程因为遇到I/O操做或被更高优先级的任务抢走CPU使用权限而没法继续执行, 便从运行态转为阻塞态
阻塞态➠➠就绪态
处于阻塞态的进程, 若其等待的事情已经处理完毕, 因而进程从阻塞态转为就绪态
同步是指发送方发送数据后, 等接收方发回响应后才发下一个数据报的通信方式
同步是指两个程序的运行是相关的, 其中一个线程在阻塞须要等待状态, 那另外一个线程才运行
异步是指发送方发出数据后, 不等接收方发回响应, 接着就发下个数据报的通信方式
异步是指两个线程毫无相关, 本身运行本身的
所以咱们不能无限制的根据任务去开启或者结束进程。那么咱们要怎么作呢?
来源:https://cnblogs.com/songhaixi...