一、Go 并发模型概述
Go 语言的并发是其最强大的特性之一。Go 采用 CSP(Communicating Sequential Processes)并发模型。
Go 并发模型
├── Goroutine(轻量级线程)
│ ├── 初始栈仅 2KB(线程通常 1-8MB)
│ ├── Go 运行时管理调度
│ ├── 创建成本极低
│ └── 可轻松创建数十万个
├── Channel(通道)
│ ├── Goroutine 间通信
│ ├── 类型安全
│ ├── 支持缓冲和非缓冲
│ └── 可用于同步
├── GMP 调度模型
│ ├── G - Goroutine
│ ├── M - Machine(OS 线程)
│ ├── P - Processor(逻辑处理器)
│ └── 默认 P 数量 = CPU 核数
└── 核心理念
└── "不要通过共享内存来通信,而要通过通信来共享内存"
2026/3/20大约 10 分钟