Concurrency in Go: Tools and Techniques for Developers (Paperback)

Katherine Cox-Buday



Concurrency can be notoriously difficult to get right, but fortunately, the Go open source programming language makes working with concurrency tractable and even easy. If you’re a developer familiar with Go, this practical book demonstrates best practices and patterns to help you incorporate concurrency into your systems.

Author Katherine Cox-Buday takes you step-by-step through the process. You’ll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems. Learn the skills and tooling you need to confidently write and implement concurrent systems of any size.

  • Understand how Go addresses fundamental problems that make concurrency difficult to do correctly
  • Learn the key differences between concurrency and parallelism
  • Dig into the syntax of Go’s memory synchronization primitives
  • Form patterns with these primitives to write maintainable concurrent code
  • Compose patterns into a series of practices that enable you to write large, distributed systems that scale
  • Learn the sophistication behind goroutines and how Go’s runtime stitches everything together



作者Katherine Cox-Buday將逐步引導你完成這個過程。你將了解Go如何選擇建模並行性,這種模型可能帶來的問題,以及如何在這個模型中組合基本元素來解決問題。學習所需的技能和工具,自信地編寫和實現任何規模的並行系統。

  • 了解Go如何解決使並行性難以正確實現的基本問題

  • 學習並行性和平行性之間的關鍵差異

  • 深入研究Go的內存同步原語的語法

  • 使用這些原語形成模式,編寫易於維護的並行代碼

  • 將這些模式組合成一系列實踐,使你能夠編寫可擴展的大型分佈式系統

  • 了解goroutines背後的複雜性,以及Go的運行時如何將所有元素結合在一起