操作系统


并发

在同一时间段,看上去是并行执行的

微观:单核交替执行不同任务进程或者线程间的上下文交换

并行

CPU 在某一时刻有两个任务通知在执行

多核处理器,在微观下不同 CPU 核心并行处理多个任务

同步

必须任务 a 执行完毕才能执行任务 b,没有并发和并行的概念

异步

任务之间没有顺序关系,可以并发、并行执行,使用多线程实现

如果是单核或者设置 CPU 核心亲和力将线程全部绑定到一个核心上,CPU 就会使用交替时间片的形式执行(就是并发),也就是单线程异步编程(Python asyncio),使用单线程实现并发

异步使用场景:IO 密集型任务(IO 操作耗时 CPU 使用多线程会导致大量资源空闲,多线程也会占用内存,线程间切换也会消耗资源)

多线程使用场景:计算密集型任务


文章作者: Nico
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Nico !
  目录