并发:
- 在程序设计的角度,希望通过某些机制让计算机可以在一个时间段内,执行多个任务。
- 一个或多个物理 CPU 在多个程序之间多路复用,提高对计算机资源的利用率。
- 任务数多余 CPU 的核数,通过操作系统的任务调度算法,实现多个任务一起执行。
- 有多个线程在执行,计算机只有一个 CPU,不可能真正同时运行多个线程,操作系统只能把 CPU 运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。
并发编程:
- 用编程语言编写让计算机可以在一个时间段内执行多个任务的程序。