Go (Golang): Asynchrone Programmierung in 110 Minuten // deutsch



Go (Golang): Asynchrone Programmierung in 110 Minuten // deutsch

Go (Golang): Asynchrone Programmierung in 110 Minuten // deutsch

Go (Golang) unterstützt die asynchrone Programmierung durch eine Reihe von Konzepten, unter anderem Go-Routinen, Wait-Groups, Mutex, Channels, Kontexte und die select-Anweisung. Was auf den ersten Blick nach vielen Konstrukten aussieht, ergibt auf den zweiten Blick ein Puzzle aus Einzelteilen, die sich nahtlos miteinander integrieren lassen und die einander perfekt ergänzen.

⬥ https://app.thenativeweb.io

0:00:00 – Einleitung
0:02:23 – Go-Routinen vs Threads
0:03:26 – Das Projekt vorbereiten
0:05:07 – Code asynchron ausführen
0:09:15 – Anonyme Funktionen als Go-Routinen
0:10:41 – Go-Routinen laufen im Hintergrund
0:14:31 – Synchronisation mit Wait-Groups
0:17:37 – Ein typischer Fehler
0:24:05 – Gemeinsame Ressourcen nutzen
0:30:02 – Data-Races verstehen
0:34:13 – Ein Mutex verwenden
0:38:18 – Locks optimieren
0:41:35 – Kommunikation zwischen Go-Routinen
0:43:04 – Channels zur Kommunikation verwenden
0:48:35 – Automatische Erkennung von Deadlocks
0:52:09 – Buffered- vs Unbuffered-Channels
0:54:38 – Mit Channels auf Funktionen warten
0:59:28 – Gerichtete Channels verwenden
1:02:11 – Jobs aus einer Queue verarbeiten
1:17:03 – Auf mehrere Channels gleichzeitig warten
1:25:35 – Der default-Zweig in der select-Anweisung
1:28:12 – Einen Timeout mit select umsetzen
1:38:12 – Im Hintergrund laufende Funktionen abbrechen
1:44:14 – Kontexte für Timeouts verwenden
1:44:40 – Der TODO-Kontext
1:45:43 – Vordefinierte Kontexte in verschiedenen APIs
1:47:01 – Vergleich mit JavaScript
1:48:51 – Go: Geradlinig, effizient und zielführend

────────────────────

Über the native web 🦄

Wir sind ein Beratungs-, Schulungs- und Entwicklungsunternehmen, das sich auf Web- und Cloud-Technologien spezialisiert hat. Wir streben nach intelligenten und eleganten Lösungen für komplexe Probleme, und wir glauben, dass Softwareentwicklung kein Selbstzweck ist. Stattdessen sollte Software tatsächliche Probleme der realen Welt lösen.

Wir glauben, dass native Web- und Cloud-Technologien das Fundament sind, auf dem die Zukunft aufbaut. Unsere Kernkompetenz ist der Entwurf und die Entwicklung verteilter Web- und Cloud-Anwendungen unter Verwendung dieser Technologien in interdisziplinären Teams. Wir entwickeln auch unser eigenes Open-Source-Framework namens wolkenkit. Und wir lieben es, unser Wissen in Schulungen und Workshops, auf Konferenzen und bei Usergroups zu teilen.

⬥ Kanal abonnieren: https://www.youtube.com/channel/UC0BtS97KQR7I4Xqa9VYlkvg?sub_confirmation=1

────────────────────

Weiterführende Links 🌍

⬥ Webseite: https://www.thenativeweb.io/
⬥ App: https://app.thenativeweb.io/
⬥ Twitter: https://twitter.com/thenativeweb, https://twitter.com/goloroden
⬥ Discord: https://discord.gg/ZQbSDQyJ2m
⬥ GitHub: https://github.com/thenativeweb
⬥ wolkenkit: https://www.thenativeweb.io/wolkenkit/framework
⬥ Impressum: https://www.thenativeweb.io/company/legal-notice

Comments are closed.