Cargando…

Concurrency in Go : tools and techniques for developers /

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Cox-Buday, Katherine (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Sebastopol, CA : O'Reilly Media, [2017]
Edición:First edition.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Copyright; Table of Contents; Preface; Who Should Read This Book; Navigating This Book; Online Resources; Conventions Used in This Book; Using Code Examples; O'Reilly Safari; How to Contact Us; Acknowledgments; Chapter 1. An Introduction to Concurrency; Moore's Law, Web Scale, and the Mess We're In; Why Is Concurrency Hard?; Race Conditions; Atomicity; Memory Access Synchronization; Deadlocks, Livelocks, and Starvation; Determining Concurrency Safety; Simplicity in the Face of Complexity; Chapter 2. Modeling Your Code: Communicating Sequential Processes.
  • The Difference Between Concurrency and ParallelismWhat Is CSP?; How This Helps You; Go's Philosophy on Concurrency; Chapter 3. Go's Concurrency Building Blocks; Goroutines; The sync Package; WaitGroup; Mutex and RWMutex; Cond; Once; Pool; Channels; The select Statement; The GOMAXPROCS Lever; Conclusion; Chapter 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 PackageSummary; Chapter 5. Concurrency at Scale; Error Propagation; Timeouts and Cancellation; Heartbeats; Replicated Requests; Rate Limiting; Healing Unhealthy Goroutines; Summary; Chapter 6. Goroutines and the Go Runtime; Work Stealing; Stealing Tasks or Continuations?; Presenting All of This to the Developer; Conclusion; Appendix A. Appendix; Anatomy of a Goroutine Error; Race Detection; pprof; Index; About the Author; Colophon.