Concurrency in Go (Paperback)
Langue : anglais
Edité par Independently Published, 2025
- Livre broché
- Neuf

Vendeur : CitiRetail, Stevenage, Royaume-UniCitiRetail
Vendeur AbeBooks depuis 29 juin 2022
Etat: Neuf
EUR 28,20
Quantité disponible : 1 disponible(s)
Ajouter au panierItem description from seller
N° de réf. du vendeur 9798271760556
- Titre
- Concurrency in Go (Paperback)
- Auteur
- Christopher J. Chaplin
- Éditeur
- Independently Published
- Année de publication
- 2025
- État de l'article
- new
- Reliure
- Paperback
- Langue
- anglais
- ISBN à 13 chiffres
- 9798271760556
Does your application freeze under heavy load? Do your users complain about slow response times? Are you afraid of starting a new goroutine because you've heard horror stories about "data races" and "goroutine leaks"?
If so, you're not alone. Concurrency is one of the most difficult topics in programming. In many languages, it's an "expert-only" feature, full of traps that can crash your entire application.
But Go was built to change this. Go's core philosophy is:
"Don't communicate by sharing memory; instead, share memory by communicating."
This simple shift in thinking is the key to writing clean, safe, and efficient code. In this book, I'll guide you through that mental shift. I won't just show you what to type; I'll show you why you're typing it. We will move from a simple "Hello, Goroutine!" to building complex, fault-tolerant systems that can gracefully handle thousands of requests, all without fear.
What's Inside
This book is packed with practical examples, code walkthroughs, and real-world patterns. You will learn:
- The Foundation: The critical difference between concurrency (managing tasks) and parallelism (doing tasks).
- Goroutines & WaitGroups: How to launch goroutines with the go keyword and how to correctly wait for them to finish using sync.WaitGroup.
- Channels: A deep dive into Go's "pipes." We'll cover buffered vs. unbuffered channels, directional channels, and how to use for range to process data streams.
- The select Statement: How to manage multiple channels at once, implement timeouts, and build responsive workers.
- Traditional Concurrency: When not to use a channel. You'll learn to use sync.Mutex and sync.RWMutex to protect shared state.
- The context Package: This is the most important tool for building reliable servers. You'll master cancellation, timeouts, and deadlines to prevent goroutine leaks forever.
- Production-Ready Patterns: We'll build a Worker Pool, a Rate Limiter, a Circuit Breaker, and use the powerful errgroup package to manage parallel tasks.
- Testing & Debugging: How to prove your code is safe with Go's "superpower," the Race Detector. You'll also learn to find leaks with pprof and measure your speed with benchmarks.
I wrote this book for you if:
- You are a Go developer who is comfortable with the language basics (structs, functions, interfaces) but feels "stuck" or "intimidated" when it comes to the go keyword.
- You are a backend engineer who needs to build high-performance APIs, microservices, or data pipelines that can handle high throughput.
- You are a developer from another language (like Python, Java, or C#) and find traditional multi-threading to be complex, difficult, and full of bugs.
Stop guessing about concurrency. Stop worrying about data races and mysterious crashes. The ability to write safe, fast, and concurrent code is what separates a good Go programmer from a great one.
This book provides the tools, the patterns, and the mental models you need to write concurrent code with confidence.
Your journey to building truly professional, high-performance Go applications starts right here. Let's get started.
« Synopsis » peut appartenir à une autre édition de cet ouvrage.
CitiRetail
Stevenage, Royaume-Uni
Vendeur AbeBooks depuis 29 juin 2022
Frais d'expédition de Royaume-Uni vers Etats-Unis
| Article | 7 à 14 jours ouvrés | 7 à 60 jours ouvrés |
|---|---|---|
| Premier article | EUR 43,14 | EUR 43,14 |
Modes de paiement
Description de la boutique
Profil professionnel du vendeur
ABC BOOKS LIMITED
10 John Street
London, Royaume-Uni WC1N 2EB
Conditions de vente
Orders can be returned within 30 days of receipt.
Droit de rétractation
Si vous êtes un consommateur, vous pouvez exercer votre droit de rétractation sur le contrat conformément à ce qui suit. Le mot « consommateur » désigne toute personne physique agissant à des fins qui n'entrent pas dans le cadre de son activité commerciale, artisanale ou professionnelle.
Informations concernant le droit de rétractation
Droit statutaire de rétractation
Vous avez le droit d'exercer votre droit de rétractation sur ce contrat dans les 14 jours sans donner de raison.
Le délai de rétractation expirera au bout de 14 jours à compter du jour où vous-même, ou un tiers autre que le transporteur et désigné par vous, prendrez physiquement possession de la dernière marchandise, du dernier lot ou de la dernière pièce.
Pour exercer votre droit de rétractation, remplissez électroniquement et envoyez une déclaration claire sur notre site Web, sous « Vos achats » dans « Votre compte ». Nous vous communiquerons sans délai un accusé de réception de cette rétractation sur un support durable (par exemple, par e-mail).
Pour respecter le délai de rétractation, il vous suffit d'envoyer votre message concernant l'exercice de votre droit de rétractation avant l'expiration du délai de rétractation.
Effets de la rétractation
Si vous exercez votre droit de rétractation sur ce contrat, nous vous rembourserons tous les paiements que vous avez effectués, y compris les frais de livraison (à l'exception des frais supplémentaires résultant du choix d'un mode de livraison autre que le type de livraison standard le moins cher que nous proposons).
Nous pouvons déduire du remboursement la perte de valeur de toute marchandise livrée, si la perte est le résultat d'une manipulation inutile de votre part.
Nous effectuerons le remboursement dans les meilleurs délais, et au plus tard 14 jours après le jour où nous aurons été informés de votre décision d'exercer votre droit de rétractation sur ce contrat.
Nous effectuerons le remboursement en utilisant le même moyen de paiement que celui que vous avez utilisé pour la transaction initiale, sauf si vous en avez expressément convenu autrement ; en tout état de cause, aucuns frais ne vous seront facturés à la suite d'un tel remboursement.
Nous pouvons suspendre le remboursement jusqu'à ce que nous ayons reçu les marchandises ou que vous ayez fourni la preuve que vous avez renvoyé les marchandises, en fonction de la première éventualité.
Vous devez renvoyer les marchandises ou les remettre à CitiRetail, Stevenage, United Kingdom, sans retard injustifié et, en tout état de cause, au plus tard 14 jours à compter du jour où vous nous avez communiqué votre décision de rétractation du présent contrat. Le délai est respecté si vous renvoyez les marchandises avant l'expiration du délai de 14 jours. Vous devrez prendre en charge les frais directs du renvoi des marchandises. Vous n'êtes responsable que de toute diminution de valeur des marchandises résultant d'une manipulation autre que celle nécessaire pour établir la nature, les caractéristiques et le fonctionnement des marchandises.
Exceptions au droit de rétractation
Le droit de rétractation ne s'applique pas à ce qui suit :
- Distribution de journaux, de revues ou de magazines, à l'exception des contrats d'abonnement ; et
- Fourniture d'un contenu numérique qui n'est pas fourni sur un support matériel (par exemple, sur un CD ou un DVD) si vous avez accepté, lors de votre commande, que nous puissions commencer à le livrer et que vous ne puissiez pas exercer votre droit de rétractation une fois la livraison commencée.
Conditions d'expédition
Please note that titles are dispatched from our US, Canadian or Australian warehouses. Delivery times specified in shipping terms. Orders ship within 2 business days. Delivery to your door then takes 7-14 days.