Nebenläufigkeit in Go (Golang): Ein praktischer Leitfaden
Nebenläufigkeit in Go (Golang): Ein praktischer Leitfaden
Zusammenfassung:
Das Buch „Nebenläufigkeit in Go (Golang)“ ist ein praktischer Leitfaden zu einem der leistungsstärksten und gleichzeitig komplexesten Themen der Programmiersprache Go. Wenn Sie die Grundlagen der Syntax bereits beherrschen und auf die nächste Stufe aufsteigen möchten, um hochperformante, ausfallsichere und skalierbare Anwendungen zu entwickeln, wird dieses Buch Ihr unverzichtbarer Begleiter sein.
Nebenläufigkeit ist nicht nur die Möglichkeit, mehrere Aufgaben gleichzeitig auszuführen. In Go ist sie tief in die Architektur der Sprache eingebettet: leichtgewichtige Goroutinen, effiziente Kanäle für den Datenaustausch und eine umfangreiche Standardbibliothek. Eine falsche Verwendung dieser Werkzeuge kann jedoch zu schwer auffindbaren Fehlern führen – Datenrennen, Deadlocks und Ressourcenlecks. Dieses Buch hilft Ihnen, diese Fallstricke zu vermeiden und zu lernen, nebenläufig zu denken.
Was Sie in diesem Buch lernen werden:
- Goroutinen: Wie Sie tausende parallele Aufgaben mit minimalem Overhead starten, ihren Lebenszyklus verwalten und Lecks vermeiden.
- Kanäle: Organisation des sicheren Datenaustauschs zwischen Goroutinen, Synchronisation und Aufbau von Verarbeitungspipelines.
- Nebenläufigkeitsmuster: Fan-In, Fan-Out, Worker Pool, Pipeline, Or-Channel und andere bewährte Architekturlösungen.
- Synchronisation: Verwendung von Mutexen, WaitGroup, Cond und atomaren Operationen zum Schutz gemeinsamer Ressourcen.
- Context: Verwaltung der Lebensdauer von Goroutinen, Abbruch von Operationen und Übergabe von Metadaten über den Kontext.
- Testen: Schreiben von Tests für nebenläufigen Code, Auffinden von Datenrennen mit dem integrierten Detektor.
- Fehlerbehandlung: Wie Sie Fehler in einer Multithreading-Umgebung korrekt behandeln, ohne Informationen über Ausfälle zu verlieren.
- Praktische Beispiele: Von einem einfachen Webcrawler bis zu einem verteilten Chat-Server und einem Ereignisverarbeitungssystem.
Für wen dieses Buch gedacht ist:
- Go-Entwickler, die die Grundlagen beherrschen und Nebenläufigkeit erlernen möchten.
- Programmierer anderer Sprachen (Python, Java, C++), die zu Go wechseln und sein einzigartiges Parallelitätsmodell verstehen möchten.
- Backend-Ingenieure, DevOps-Spezialisten und alle, die hochlastige Systeme und Microservices entwickeln.
- Studenten und Dozenten, die moderne Ansätze der parallelen Programmierung studieren.
Das Buch ist in einfacher und verständlicher Sprache geschrieben, mit zahlreichen Codebeispielen und praktischen Aufgaben. Jedes Kapitel enthält Übungen zur Vertiefung des Gelernten. Nach der Lektüre werden Sie in der Lage sein, nebenläufige Systeme in Go sicher zu entwerfen und zu implementieren, die schnell, stabil und sicher arbeiten.
Egal, ob Sie einen Webserver, einen Datenprozessor oder ein Kommandozeilen-Tool entwickeln – das Verständnis der Nebenläufigkeit in Go eröffnet Ihnen neue Möglichkeiten zur Optimierung und zum Aufbau einer eleganten Architektur.
Empfehlungen
Java in Aktion
Asynchrones Go (Golang): Das vollständige Handbuch
Swift-Vorstellungsgespräch (iOS/macOS): 200 Fragen und Antworten
Kotlin und Kubernetes: Entwicklung und Orchestrierung von Microservices
Praktische Softwareentwicklung mit Golang
CloudKit by Tutorials: Ein Leitfaden zu CloudKit für iOS und macOS