Go 语言并发哲学:Goroutine 调度模型(GMP)与 Channel 底层剖析

Go 语言之所以在云原生时代一骑绝尘,其极度轻量的并发机制功不可没。

  • G (Goroutine):初始仅 2KB 栈空间,按需自动动态扩容;
  • M (Machine):绑定真正的系统内核线程;
  • P (Processor):逻辑处理器,持有本地可运行队列,负责上下文切换与工作窃取(Work Stealing);
  • Channel:加锁的环形缓冲区(hchan),通过等待队列与挂起调度实现优雅的协程通信。

不要通过共享内存来通信,而要通过通信来共享内存。

7 回复 311 浏览
编辑于 7 days ago

全部回复

7 条

还没有回复

成为第一个参与讨论的人。

登录后就能参与这个讨论。

环球论坛 Sweep The Globev0.1.0

基于现代化全栈架构构建的技术社区 · 开放、连接与分享

Nuxt 4Spring Boot 3PostgreSQLRedis