面试真题

Go · 中等 · 滴滴

怎么用chann来通信,6个channel通信的典型案例

中等 Go 🎤 滴滴
参考答案
结论:Go中channel用于goroutine通信,通过make创建,<-收发。6典型:同步等待(无缓冲channel阻塞主协程至子协程发done);数据传递(ch<-data与<-ch);扇出扇入(多worker读同channel,结果汇另一channel);超时控制(select{<-ch; <-time.After(1s)});关闭广播(close(ch)后接收者得零值);工作池(缓冲channel分发任务控并发)。原理:channel内部有锁和等待队列,无缓冲同步交接,有缓冲异步;单向channel增类型安全。
题目整理自公开面经,答案由校招宝自研生成,仅供参考