程序 进程 线程 并发 并行

程序 进程 线程 并发 并行

  • 程序(program) : 是为完成特定任务、用某种语言编写的一组指令的集合,是一段静态的代码(程序是静态的)

  • 进程(process) : 是操作系统对一个正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件。是程序的一次执行过程,正在运行的一个程序,进程作为资源分配的单位,在内存中会为每个进程分配不同的内存区域, 是一个动的过程 (进程是动态的)

    • 进程的生命周期 : 有它自身的产生、存在和消亡的过程。
  • 线程(thread):一个进程实际上可以有由多个叫做线程的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。进程可进一步细化为线程, 是一个程序内部的一条执行路径。 若一个进程同一时间并行执行多个线程,就是支持多线程的。

  • 并发(concurrency):一个进程的指令和另一个进程的指令是交错执行的。构建在进程这个抽象之上,我们能够设计出同时有多个程序执行的系统,这就导致了并发。在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件。是一个通用的概念,指一个同时具有多个活动的系统,两个或多个事件在同一时间间隔内发生。

  • 并行(parallelism):指的是用并发来使一个操作系统运行的更快,将并发执行的程序程序分配到多个处理机上,并行可以在计算机系统的多个抽象层级上运用。在较低的抽象层次上,现代处理器同时执行多条指令的属性成为指令级并行。两个或多个事件在同一时刻发生。


CPU在执行的时候,是按照时间片执行的,一个时间片只能执行一个线程,因为时间片时间特别短,感受到的就是“同时”执行多个线程,实际这个多线程是一种假象

多个CPU的时候,才真正意义上做到一个时间片多线程同时进行,多线程发挥了最好的效率,真正的同时执行,真正的多线程

Guess you like

Origin blog.csdn.net/m0_46530662/article/details/121154070