并发
多個事情在同一時間段內同時發生
并发的多个任务之间是互相抢占资源。
不断切换。
抢占CPU时间片。
并行
多個事情在同一個時間點上同時發生
并行的多个任务之间是不互相抢占资源。
四核四线程,四个任务同时跑。
再多一个就存在并发。
详细对比
| 特性 | 并发 (Concurrency) | 并行 (Parallelism) |
|---|---|---|
| 核心概念 | 在一个时间段内逻辑上同时处理多个任务。 | 在一个时间点上物理上同时执行多个任务。 |
| 处理器要求 | 单核或多核处理器都可以。 | 至少需要多核处理器才能实现。 |
| 执行方式 | 多个任务之间通过时间片轮转快速交替执行,宏观上看起来是同时的。 | 多个任务被分配到不同的处理器核心上,真正地同时执行。 |
| 比喻 | 一个人一边吃饭一边打电话,但他只能交替进行,不能同时做两件事。 | 两个人各自拿着一把铁锹,同时挖坑。 |
| 目标 | 提高资源的利用率,使程序看起来响应更快。 | 提高处理速度和吞吐量。 |