santisify Site

Back

Go并发编程Blur image

并发模型(CSP理论、Goroutine轻量级线程)#

基础概念#

并发: 多个任务在同一时间段内交替执行, 但不一定同时执行, 也就是任务之间的切换是有序的, 任务之间是有依赖关系的.

并行: 多个任务在同一时刻同时执行

CSP理论:

  • 核心思想: 不要通过共享内存来通信,而要通过通信来共享内存
  • 组成要素: Process (进程\协程)、Channel (通道)

应用场景#

Goroutine

  • 高并发Web服务器:每个请求一个Goroutine
  • 数据处理流水线:多个处理阶段并行执行
  • 实时消息推送:WebSocket连接管理
  • 定时任务调度:后台定时执行任务
  • 并发爬虫:同时抓取多个网页

传统多线程与Goroutine的区别

特性传统线程Goroutine
创建成本1-2MB2KB
创建速度
调度方式操作系统调度Go运行时调度
上下文切换完整线程切换用户态轻量切换

示例:

go
Go并发编程
https://santisify.top/blog/other/go-concurrent-programming
Author santisify
Published at July 1, 2026
Comment seems to stuck. Try to refresh?✨