go-concurrency-patterns
作者 wshobson掌握 Go 并发编程,涵盖 goroutines、channels、同步原语和 context。适用于构建并发 Go 应用、实现工作池或调试竞态条件时使用。
概览
什么是 go-concurrency-patterns?
go-concurrency-patterns 是一项实用技能,帮助你掌握 Go(Golang)应用中的并发编程。内容涵盖使用 goroutines、channels、同步原语(如 sync.Mutex 和 sync.WaitGroup)以及 context 管理取消和超时的关键模式。该技能面向需要构建、调试或优化并发 Go 程序的后端和系统开发者。
谁适合使用此技能?
- 构建并发或并行应用的 Go 开发者
- 实现工作池、流水线或优雅关闭的工程师
- 解决竞态条件或管理 goroutine 生命周期的团队
- 希望掌握 Go 并发原语最佳实践的任何人
解决的问题
- 在 Go 中实现安全高效的并发执行
- 使用 channels 实现 goroutine 之间的通信
- 管理同步,避免竞态条件
- 利用 context 实现取消和超时控制
使用方法
安装步骤
-
通过以下命令将技能添加到你的 agent 或项目中:
npx skills add https://github.com/wshobson/agents --skill go-concurrency-patterns -
阅读
SKILL.md主文档,了解并发模式的指导概览,包括代码示例和详细说明。 -
浏览相关文件如
README.md、AGENTS.md和metadata.json,获取更多上下文、参考资料和集成说明。查看rules/、resources/或scripts/文件夹,获取辅助材料。
模式适配
- 将提供的模式作为你 Go 项目的参考,结合应用架构和需求进行调整。
- 重点掌握核心原语:goroutines 实现并发,channels 实现通信,context 管理生命周期。
- 使用
sync.Mutex和sync.WaitGroup等同步工具协调 goroutine 执行,避免数据竞态。
何时使用 go-concurrency-patterns
- 构建可扩展的 Go 后端服务或微服务
- 实现工作池、流水线或并发处理任务
- 管理优雅关闭和资源清理
- 调试或预防 Go 代码中的竞态条件
常见问题
我应该先阅读哪些文件?
建议先从 SKILL.md 开始,获取全面概览。然后查看 README.md 和 AGENTS.md,了解集成细节和高级用法。
这个技能包含可运行的代码示例吗?
包含,文档中有展示 Go 并发关键模式的实用代码片段。你可以根据需要调整这些示例用于自己的项目。
go-concurrency-patterns 适合初学者吗?
适合具备基础 Go 语言知识,想深入理解并发的开发者。内容兼具概念讲解和实战示例。
哪里可以找到更多资源?
请浏览仓库中的 resources/ 和 references/ 文件夹,获取更多阅读材料和高级并发主题。
如何排查问题?
参考 SKILL.md 中的代码示例和说明,识别常见陷阱。利用 Go 内置的竞态检测器和 context 管理工具进行调试。
打开仓库的 Files 标签页,查看完整文件树,包括辅助脚本和嵌套引用。
