进程 & 线程

687 阅读1分钟

进程: 是系统进行资源调度分配的基本单位,是系统对一个正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程。

线程: CPU调度分配的基本单位,一个cpu同时只能执行一个线程的任务,同样一个线程任务也只能在一个cpu上执行。

一个进程可以包括多个线程。一个进程中的所有线程可以共享该进程的内存。


进程切换

系统打开多个程序,是一个进程的指令和另一个进程的指令是交错执行的。一个CPU在并发地执行多个进程,这是通过处理器在进程间切换来实现的。


串行 并行 并发

串行:多个任务,执行时一个执行完再执行另一个。

并发:多个线程在单个核心运行,同一时间一个线程运行,系统不停切换线程,看起来像同时运行,实际上是线程不停切换。

并行:每个线程分配给独立的核心,线程同时运行。(多CPU系统)

  • 以多进程形式,允许多个任务同时运行
  • 以多线程形式,允许单个任务分成不同的部分运行