Go (Golang) 并发编程:实战指南
300 页
Chinese
PDF
4.5

Go (Golang) 并发编程:实战指南

Go (Golang) 并发编程:实战指南

作者:

年份:

简介:

《Go (Golang) 并发编程》是一本完整的实战指南,将帮助您掌握 Go 编程语言中最强大但也最复杂的主题之一。并发内置于 Go 的架构之中,不理解并发就无法创建高效、快速且可扩展的应用程序。本书将引导您从基础到生产系统中使用的高级模式。



本书内容

本书从基本概念开始:什么是 goroutine,它们与操作系统线程有何不同,channel(缓冲和非缓冲)如何工作,以及如何使用互斥锁和原子操作正确同步数据访问。您将学习如何避免竞态条件和死锁。然后,作者将转向更复杂的主题:

  • 使用 select 和超时的模式
  • 数据管道(pipeline)的组织
  • 通过 sync.WaitGroup 和 errgroup 管理 goroutine 组
  • 使用工作池控制并发
  • 上下文(context)和操作取消
  • 高级同步原语:sync.Once、sync.Pool、sync.Cond
  • 使用 go test -race 测试并发代码


本书适合谁

本书将有助于:

  • 已经掌握语言语法并希望了解如何编写高效多线程程序的 Go 初学者
  • 从其他语言(Java、C#、Python)转向 Go 并希望学习其独特并发模型的经验丰富的程序员
  • 构建高负载服务、微服务、Web 服务器和实时系统的后端开发人员
  • 对并行编程感兴趣并希望学习最佳实践的学生和所有人


阅读后您将学到什么

学习完材料后,您将能够:

  • 正确设计并发架构,避免常见错误
  • 有效使用 goroutine 和 channel 进行数据传输和同步
  • 编写可靠、免受数据竞争和死锁影响的代码
  • 应用高级模式:fan-in、fan-out、or-done、tee-channel、bridge-channel
  • 通过 context 和优雅关闭将并发集成到实际项目中
  • 分析和调试并发代码

本书包含大量代码示例,您可以立即运行和修改。所有示例都附有详细的注释和说明。这不仅仅是理论——这是一本实战指南,将成为您 Go 并发编程的桌面参考书。



本书作者是 Alexey Kuznetsov,一位拥有 10 年经验的高级后端开发人员,其中最近 6 年他在高负载项目中用 Go 编程。Alexey 以其在 Go 社区会议上的演讲和一系列关于并发编程的文章而闻名。

推荐