Concurrency in Go. Tools and Techniques for Strzelce Opolskie

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 …

od 143,65 Najbliżej: 35 km

Liczba ofert: 1

Oferta sklepu

Opis

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 correctlyLearn the key differences between concurrency and parallelismDig into the syntax of Go...s memory synchronization primitivesForm patterns with these primitives to write maintainable concurrent codeCompose patterns into a series of practices that enable you to write large, distributed systems that scaleLearn the sophistication behind goroutines and how Go...s runtime stitches everything together Spis treści: Preface Who Should Read This Book Navigating This Book Online Resources Conventions Used in This Book Using Code Examples OReilly Safari How to Contact Us Acknowledgments 1. An Introduction to Concurrency Moores Law, Web Scale, and the Mess Were In Why Is Concurrency Hard? Race Conditions Atomicity Memory Access Synchronization Deadlocks, Livelocks, and Starvation Deadlock Livelock Starvation Determining Concurrency Safety Simplicity in the Face of Complexity 2. Modeling Your Code: Communicating Sequential Processes The Difference Between Concurrency and Parallelism What Is CSP? How This Helps You Gos Philosophy on Concurrency 3. Gos Concurrency Building Blocks Goroutines The sync Package WaitGroup Mutex and RWMutex Cond Once Pool Channels The select Statement The GOMAXPROCS Lever Conclusion 4. Concurrency Patterns in Go Confinement The for-select Loop Preventing Goroutine Leaks The or-channel Error Handling Pipelines Best Practices for Constructing Pipelines Some Handy Generators Fan-Out, Fan-In The or-done-channel The tee-channel The bridge-channel Queuing The context Package Summary 5. Concurrency at Scale Error Propagation Timeouts and Cancellation Heartbeats Replicated Requests Rate Limiting Healing Unhealthy Goroutines Summary 6. Goroutines and the Go Runtime Work Stealing Stealing Tasks or Continuations? Presenting All of This to the Developer Conclusion A. Appendix Anatomy of a Goroutine Error Race Detection pprof Index

Specyfikacja

Podstawowe informacje

Autor
  • Katherine Cox-Buday
Rok wydania
  • 2017
Format
  • MOBI
  • EPUB
Ilość stron
  • 238
Kategorie
  • Programowanie
Wybrane wydawnictwa
  • O'Reilly Media