一:进程与线程

1.先来一张图,直观了解一下进程与线程的关系
进程与线程 并发与并行
总结:进程是系统分配资源的最小单位,线程是系统调度的最小单位。一个进程内的线程之间是可以共享资源的。每个进程至少有一个线程存在,即主线程

二:进程的状态

进程与线程 并发与并行
就绪:进程处于可运行的状态,只是CPU时间片还没有轮转到该进程,则该进程处于就绪状态。
运行:进程处于可运行的状态,且CPU时间片轮转到该进程,该进程正在执行代码,则该进程处于运行状态。
阻塞:进程不具备运行条件,正在等待某个事件的完成

三:时间片

现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。所谓的多任务,就是操作系统可以同时运行多个任务。
操作系统(如Windows、Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂停的任务就处于就绪状态等待下一个属于它的时间片的到来。
这样每个任务都能得到执行,由于CPU的执行效率非常高,时间片非常短,在各个任务之间快速地切换,给人的感觉就是多个任务在“同时进行”,这也就是我们所说的并发。

四:并发与并行

现在,多核CPU已经非常普及了,由于任务数量远远多于CPU的核心数量,所以,操作系统也会自动把很多任务轮流调度到每个核心上执行。对于
并发:多个进程在一个CPU下采用时间片轮转的方式,在一段时间之内,让多个进程都得以推进,称之为并发。
并行:多个进程在多个CPU下分别,同时进行运行,这称之为并行。

理解 :计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机的情况下,多个进程在同一时间间隔运行的)。
并发与并行类似于工厂中的流水线,要扩大产量,1是考虑建造多个工厂,这就是并行,2是考虑每个工厂中新增流水线,这就类似并发。

相关文章:

  • 2021-11-14
  • 2021-12-06
  • 2022-12-23
  • 2021-08-30
  • 2021-11-11
  • 2021-05-07
  • 2021-07-26
  • 2021-11-25
猜你喜欢
  • 2021-09-08
  • 2021-07-16
  • 2021-09-21
  • 2022-12-23
  • 2021-04-27
  • 2021-09-16
  • 2021-09-17
相关资源
相似解决方案