面试真题

Go · 简单 · 百度

channel在项目中的4种典型应用

简单 Go 🎤 百度
参考答案
结论:channel典型应用有4种:1.数据传递:主协程与子协程通过chan传值,如go func(){ch<-res}();2.工作池:用任务chan分发,多个worker消费,控制并发,jobs:=make(chan int,10)后启动固定goroutine range jobs;3.超时控制:select{case <-ch: case <-time.After(2*time.Second):}避免永久阻塞;4.广播通知:close(done)后所有监听done的协程立即返回,实现一对多退出信号。这些模式解耦生产消费,简化并发。
题目整理自公开面经,答案由校招宝自研生成,仅供参考