About This Book
- Explore the core syntaxes and language features that enable concurrency in Go
- Understand when and where to use concurrency to keep data consistent and applications non-blocking, responsive, and reliable
- A practical approach to utilize application scaffolding to design highly-scalable programs that are deeply rooted in go routines and channels
Who This Book Is For
This book is intended for systems developers and programmers with some experience in either Go and/or concurrent programming who wish to become fluent in building high-performance applications that scale by leveraging single-core, multicore, or distributed concurrency.
What You Will Learn
- Create goroutines as the building blocks of concurrency in Go
- Extend the goroutines to include channels to open up communication
- Design concurrent patterns to apply toward our examples and future applications
- Explore methods to ensure data consistency remains paramount in concurrent and multi-core Go applications
- Tune performance to squeeze the most out of existing hardware to keep your applications below resource thresholds
- Utilize advanced concurrency patterns and best practices to stay low-level without compromising the simplicity of Go itself
- Build several servers in Go that strongly utilize concurrency features
This book will take you through the history of concurrency, how Go utilizes it, how Go differs from other languages, and the features and structures of Go’s concurrency core. Each step of the way, the book will present real, usable examples with detailed descriptions of the methodologies used. By the end, you will feel comfortable designing a safe, data-consistent, high-performance concurrent application in Go.
The focus of this book is on showing you how Go can be used to program high-performance, robust concurrent programs with Go’s unique form of multithreading, which employs goroutines that communicate and synchronize across channels. Designed for any curious developer or systems administrator with an interest in fast, non-blocking, and resource-thrifty systems applications, this book is an invaluable resource to help you understand Go’s powerful concurrency focus.
- Publisher:Packt Publishing - ebooks Account
- Publication date:July 25, 2014
- Pages:301 pages