Concurrency in Go : tools and techniques for developers /
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
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.