环形缓存可以降低GC得开销
channel使用得是mutex锁
互斥锁并不是排队发送/接收数据
互斥锁保护的hchan结构体本身
Channel并不是无锁的
底层发送原理
c<- 关键字是一个语法糖
编译阶段,会把 c<- 转化为 runtime.chansend10
chansend10会调用 charsend0 方法
直接发送
放入缓存
休眠等待
环形缓存可以降低GC得开销
channel使用得是mutex锁
互斥锁并不是排队发送/接收数据
互斥锁保护的hchan结构体本身
Channel并不是无锁的
c<- 关键字是一个语法糖
编译阶段,会把 c<- 转化为 runtime.chansend10
chansend10会调用 charsend0 方法
直接发送
放入缓存
休眠等待