并发
-
在同一时间段内多个任务同时发生在单核处理器的计算机中,同一时刻只能执行一个任务。并发是由于计算机快速切换任务造成多个任务同时执行的假象。(进程切换需要保留程序的执行上下文,会占用cpu)
-
当计算机有多个处理器时,将同时发生的任务分配给不同的处理器,实现真正的并发(并行)。
-
通过并发可以提高系统的运行效率
进程
-
进程就是指程序的运行过程,执行中的程序称为进程,每个进程都会有自己一个属于自己的数据结构PCB(Process Control Block),用来存储进程的信息,PCB也是操作系统用来管理进程的工具
-
进程有就绪、运行、阻塞状态
由就绪–>运行:可能是进程的优先级最高、响应比最高或被分配时间片
由运行–>阻塞:当进程受阻是发生转换,I/O申请,申请资源未得到满足、合作进程数据未到达
由阻塞–>就绪:I/O申请结束,申请资源的到满足、合作进程数据到达
由运行–>就绪:完成了时间片,被其他进程抢占进程随着程序的运行产生,程序结束而撤销。
线程
- 线程又称为轻量性进程
- 每一个进程创建都需要为其分配除CPU以外的所有数据(内存、I/O、PCB等),而线程只需要少量的控制信息。线程通过共享进程的信息来执行。所有线程是在进程之下的。每个进程可以产生多个进程。每个进程之间可以并发执行。通过引入进程减少了程序并发执行的代价。
- 每一个进程都会有一个主线程,并且主线程是唯一的,当程序执行、产生了一个进程,主线程就会随着进程一起执行起来