﻿---
title: Concurrency & Parallelism etc.
date: 2024-03-10
excerpt: 并发Concurrency和并行Parallelism
tags:
  - OS
  - Concurrency
  - Parallelism
  - Thread
  - Process
thumbnail: https://assets.vluv.space/cover/OS/ConcurrencyvsParallelism.webp
cover: https://assets.vluv.space/cover/OS/ConcurrencyvsParallelism.webp
updated: 2026-05-08 22:10:51
---

## CPU Related Concepts

| Item                       | Concept                                                                                                | 概念延伸                                                                                  |
| -------------------------- | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------- |
| CPU 数量                   | 电脑安装的 CPU 个数                                                                                    | [Multiprocessor system](https://en.wikipedia.org/wiki/Multiprocessor_system_architecture) |
| CPU 核心数<br>(物理核心数) | CPU 内部可以包含多个 Die，Die 内部可以包含多个 Core。Core 的个数即为 CPU 核心数                        | 晶圆 Wafer，晶片 Die, <br>核心 Core, CPU                                                  |
| CPU 线程数<br>(逻辑核心数) | Intel 的超核心技术允许一个核心同时执行多个线程。<br>8 核 16 线程即 1 个核心可以跑两个线程，线程数为 16 | 超线程 Hyper-Threading                                                                    |

> [一文搞懂 晶圆 Die CPU 之间的关系一个 CPU 内部可以包含一个或者多个 Die，一个 Die 内部可以包含多个 - 掘金](https://juejin.cn/post/7316783747491332131) > [简单理解：CPU 物理数，核心数，线程数，进程，线程，协程，并发，并行的概念 - 知乎](https://zhuanlan.zhihu.com/p/490318618)

## OS Related Concepts

| Item                                 | Concept                              | Explaination                                                             |
| ------------------------------------ | ------------------------------------ | ------------------------------------------------------------------------ |
| [[ProcessvsThread#Process\|Process]] | 操作系统进行资源分配和管理的基本单位 | 操作系统可以根据每个进程的需要和优先级分配资源，如 CPU 时间、内存空间等  |
| [[ProcessvsThread#Thread\|Thread]]   | CPU 调度和分配资源的基本单位         | 在多线程 OS 中,线程是独立运行的基本单位,因而也是独立调度和分配的基本单位 |

## Concurrency & Parallelism

|                     | 定义                                   | Diagram                                                                                     |
| ------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------- |
| 并行<br>Parallelism | 多个计算任务在**同一物理时刻**同时执行 | ![image.png](https://assets.vluv.space/piclist-clipboard-images-20250804194722582.webp)<br> |
| 并发<br>Concurrency | 多个计算任务在**同一时间段内**推进     | ![image.png](https://assets.vluv.space/piclist-clipboard-images-20250804194728912.webp)<br> |

关于单核 CPU 以及多核 CPU 对并发/并行的支持情况，可以参考下图。并行需要硬件支持，对于单核 CPU 来说只能实现并发。

<img src="https://assets.vluv.space/piclist-clipboard-images-20250804201457788.webp" alt="concurrency_vs_parallelism" width=50%>

两者并非对立的关系，对于 IO 密集型的任务，当一个进程/线程阻塞在 I/O  操作时，可以将 CPU 分配给已就绪的进程/线程，避免 CPU 闲置，多核 CPU 同样需要这种策略来提高 CPU 利用率。
