Buy New
-
To see product details, add this item to your cart.
Ships from: Pensive Keyboard Books Sold by: Pensive Keyboard Books
Used - Good
-
To see product details, add this item to your cart.
Ships from: azulyoro56 Sold by: azulyoro56
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Concurrency in Go: Tools and Techniques for Developers
Purchase options and add-ons
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
- ISBN-101491941197
- ISBN-13978-1491941195
- Edition1st
- PublisherO'Reilly Media
- Publication dateSeptember 5, 2017
- LanguageEnglish
- Dimensions7 x 0.5 x 9.1 inches
- Print length236 pages
Frequently bought together

Customers who viewed this item also viewed
- Learning Go: An Idiomatic Approach to Real-World Go ProgrammingPaperbackFREE Shipping by AmazonGet it as soon as Saturday, Sep 19
- 100 Go Mistakes and How to Avoid ThemPaperbackFREE Shipping by AmazonGet it as soon as Saturday, Sep 19Only 15 left in stock - order soon.
- Go Programming Language, The (Addison-Wesley Professional Computing Series)PaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Wednesday, Sep 23Only 1 left in stock - order soon.
- Learn Concurrent Programming with GoPaperbackFREE Shipping by AmazonGet it as soon as Saturday, Sep 19Only 13 left in stock (more on the way).
- Network Programming with Go: Code Secure and Reliable Network Services from ScratchPaperbackFREE Shipping by AmazonGet it as soon as Saturday, Sep 19
- Distributed Services with Go: Your Guide to Reliable, Scalable, and Maintainable SystemsPaperbackFREE Shipping by AmazonGet it as soon as Tuesday, Sep 22Only 1 left in stock - order soon.
Customers also bought or read
- Learning Go: An Idiomatic Approach to Real-World Go Programming
Paperback$43.64$43.64FREE delivery Sat, Sep 19 - Go Programming Language, The (Addison-Wesley Professional Computing Series)
Paperback$24.54$24.54Delivery Wed, Sep 23 - Network Programming with Go: Code Secure and Reliable Network Services from Scratch
Paperback$44.48$44.48FREE delivery Sat, Sep 19 - Database Internals: A Deep Dive into How Distributed Data Systems Work
Paperback$36.33$36.33FREE delivery Sat, Sep 19 - Distributed Services with Go: Your Guide to Reliable, Scalable, and Maintainable Systems
Paperback$37.99$37.99FREE delivery Tue, Sep 22 - Mastering Go: Leverage Go's expertise for advanced utilities, empowering you to develop professional software
Paperback$35.00$35.00FREE delivery Mon, Sep 21 - Systems Performance (Addison-Wesley Professional Computing Series)#1 Best SellerComputer Performance Optimization
Paperback$57.41$57.41FREE delivery Sat, Sep 19 - System Programming Essentials with Go: System calls, networking, efficiency, and security practices with practical projects in Golang
Paperback$41.99$41.99FREE delivery Mon, Sep 21 - Fluent Python: Clear, Concise, and Effective Programming
Paperback$43.99$43.99FREE delivery Sat, Sep 19 - Operating Systems: Three Easy Pieces#1 Best SellerComputer Operating Systems Theory
Paperback$28.27$28.27Delivery Mon, Sep 21 - Design Patterns: Elements of Reusable Object-Oriented Software
Hardcover$24.35$24.35Delivery Sat, Sep 19 - Site Reliability Engineering: How Google Runs Production Systems
Paperback$23.27$23.27Delivery Mon, Sep 21 - A Philosophy of Software Design, 2nd Edition#1 Best SellerSoftware Testing
Paperback$19.92$19.92Delivery Sat, Sep 19 - Domain-Driven Design: Tackling Complexity in the Heart of Software
Hardcover$51.75$51.75FREE delivery Sat, Sep 19 - Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications
Paperback$40.00$40.00FREE delivery Sat, Sep 19 - Zero To Production In Rust: An introduction to backend development
Paperback$34.72$34.72Delivery Mon, Sep 21 - The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)
Hardcover$45.97$45.97FREE delivery Sat, Sep 19 - The Algorithm Design Manual (Texts in Computer Science)
Hardcover$48.80$48.80FREE delivery Sat, Sep 19
From the brand
-
Explore more Go resources
-
More From O'Reilly
-
Sharing the knowledge of experts
O'Reilly's mission is to change the world by sharing the knowledge of innovators. For over 40 years, we've inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.
Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.
From the Publisher
From the Preface
Who Should Read This Book
This book is meant for developers who have some experience with Go; I make no attempt to explain the basic syntax of the language. Knowledge of how concurrency is presented in other languages is useful, but not necessary.
By the end of this book we will have discussed the entire stack of Go concurrency concerns: common concurrency pitfalls, motivation behind the design of Go’s concurrency, the basic syntax of Go’s concurrency primitives, common concurrency patterns, patterns of patterns, and various tooling that will help you along the way.
Because of the breadth of topics we’ll cover, this book will be useful to various cross-sections of people. The next section will help you navigate this book depending on what needs you have.
Navigating This Book
When I read technical books, I usually hop around to the areas that pique my interest. Or, if I’m trying to ramp up on a new technology for work, I frantically skim for the bits that are immediately relevant to my work. Whatever your use case is, here’s a roadmap for the book with the hopes that it help guide you to where you need to be!
Chapter 1, An Introduction to Concurrency.
This chapter will give you a broad historical perspective on why concurrency is an important concept, and also discuss some of the fundamental problems that make concurrency difficult to get correct. It also briefly touches on how Go helps ease some of this burden.
If you have a working knowledge of concurrency or just want to get to the technical aspects of how to use Go’s concurrency primitives, it’s safe to skip this chapter.
Chapter 2, Modeling Your Code: Communicating Sequential Processes.
This chapter deals with some of the motivational factors that contributed to Go’s design. This will help give you some context for conversations with others in the Go community and help to frame your understanding of why things work the way they do in the language.
Chapter 3, Go’s Concurrency Building Blocks.
Here we’ll start to dig into the syntax of Go’s concurrency primitives. We’ll also cover the sync package, which is responsible for handling Go’s memory access synchronization. If you haven’t used concurrency within Go before and are looking to hop right in, this is the place to start.
Interspersed with the basics of writing concurrent code in Go are comparisons of concepts to other languages and concurrency models. Strictly speaking, it’s not necessary to understand these things, but these concepts help you to achieve a complete understanding on concurrency in Go.
Chapter 4, Concurrency Patterns in Go.
In this chapter, we begin to look at how Go’s concurrency primitives are composed together to form useful patterns. These patterns will both help us solve problems and avoid issues that can come up when combining concurrency primitives.
If you’ve already been writing some concurrent code in Go, this chapter should still prove useful.
Chapter 5, Concurrency at Scale.
In this chapter, we take the patterns we have learned and compose these into larger patterns commonly employed in larger programs, services, and distributed systems.
Chapter 6, Goroutines and the Go Runtime.
This chapter describes how the Go runtime handles scheduling goroutines. This is for those of you who want to understand the internals of Go’s runtime.
Appendix.
The appendix simply enumerates various tools and commands that can help make writing and debugging concurrent programs easier.
Editorial Reviews
About the Author
Product details
- Publisher : O'Reilly Media
- Publication date : September 5, 2017
- Edition : 1st
- Language : English
- Print length : 236 pages
- ISBN-10 : 1491941197
- ISBN-13 : 978-1491941195
- Item Weight : 13.6 ounces
- Dimensions : 7 x 0.5 x 9.1 inches
- Best Sellers Rank: #688,740 in Books (See Top 100 in Books)
- #895 in Software Development (Books)
- #1,156 in Computer Programming Languages
- #1,788 in Programming Languages (Books)
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read book recommendations and more.























