用途:在编写并发 Go 代码、实现并行处理、使用 goroutine 与 channel、使用互斥锁与 WaitGroup 等同步原语、排查竞态条件、优化并发性能、实现工作池或流水线、处理 context 取消时启用该技能。
主要能力:覆盖 goroutine 基础写法及其常见陷阱(如循环变量捕获);channel 类型(无缓冲、有缓冲、只发、只收、双向)与操作(发送、接收、ok 检查、close、range);select 多路复用及超时、context 取消模式;同步原语 Mutex、RWMutex、WaitGroup、Once 的示例;并发模式包括 worker pool、pipeline、fan-out/fan-in、semaphore、令牌桶限流;并发错误处理使用 golang.org/x/sync/errgroup,含 SetLimit 限流;还给出竞态检测命令:go test -race ./...、go run -race main.go、go build -race。
最佳实践:由发送方关闭 channel;用 context 处理取消与超时;避免 goroutine 泄漏;用缓冲 channel 减少阻塞;读多写少优先 RWMutex;避免在大循环中用 defer;用 errgroup 传递错误;用工作池限制并发数;先分析再优化。
适用场景:需要并发或并行处理、流式管道、限制并发与速率、集中错误传播的 Go 项目。
限制:资料为技能说明与代码示例,未提供具体安装命令、版本要求、收费、价格或平台信息;部分辅助资源以 assets 与 references 路径提及,具体内容资料未展开。