ZFI Logo GOCO

Dieser Kurs kann jederzeit als Firmenkurs sowie als Privatkurs durchgeführt werden.

Kursbeschreibung

Google Go Concurrent Programming
Asynchrone (Concurrent) und parallele Ausführungen mit Google Go (Golang) programmieren
Google Go (Golang) ist die Programmiersprache mit feinen Concurrency Konzepten. Golang bietet die direkte Unterstützung für die parallele Ausführung via goroutines direkt in der Syntax und unterscheidet sich damit von anderen Programmiersprachen wie z.B. Java.

goroutines sind nicht Threads und damit wird das Scheduling nicht via das Betriebsystem sondern über die Go Runtime behandelt, welche das Multiplexing über ein definierte Anzahl von Threads oder Prozessoren übernimmt.

On Java you can run 1000’s or tens of 1000’s threads. On Go you can run hundreds of thousands or millions of goroutines.

Die Synchronisierung der parallelen Routinenen erfolgt via Channels (Signale) und Mutual Exclusion Locks. Mehrere Channels (Signale) sind via Select abfangbar. Diese Konzepte ermöglichen das effiziente Programmieren, aber die Konzepte müssen dabei verstanden werden.

Mit dem Data Races Detector findet man in Golang mögliche Ablauffehler, die ansonsten nur sehr schwierig zu finden sind.

Auch die effektive parallele Ausführung über mehrere Prozessoren (CPU's) hinweg wird direkt unterstützt, parallel heisst aber nicht concurrent.

Dieser Kurs bietet Ihnen eine vertiefte Einführung in die parallele oder concurrent Programmierung mit Google Go. Anhand von Beispielen und Übungen lernen Sie wie man das Golang Concurrent Package richtig anwendet für Ihre Applikationen.

Verwandte Kurse

    Ihr Nutzen

    • Sie können multithreaded (concurrent) Anwendung mit goroutines programmieren.
    • Sie können mit Channels umgehen und damit Events (Signale) verarbeiten.
    • Sie können Ihre Anwendung auf Fehler analysieren mit dem Race Detector.
    • Sie können die parallele von der concurrent Ausführung unterscheiden.
    • Sie kennen die Best Practices und Patterns

    Voraussetzungen

    Guten Kenntnisse der Programmiersprache Go analog dem Kurs GOGO oder gleichwertige Kenntnisse.

    Teilnehmerkreis

    Google Go Programmierer und Anwender

    Unterlagen

    • Tutorial
    • Code Walks
    • Internet / Intranet

    Teilnehmerbeitrag

    Der Teilnehmerbeitrag versteht sich rein netto. Das ZFI ist (gemäss MwSt-Gesetz) nicht Mehrwertsteuerpflichtig und erhebt somit keine MwSt. Bei länger als einen Monat dauernden Lehrgängen ist die Zahlung des Teilnehmerbeitrages in mehreren Raten möglich (pro rata temporis).

    Kursinhalt

    • Einführung
    • gorutine vs Threads
    • Channels und Select
    • Synchronisierung
    • Deadlocks
    • Data Race Detector
    • Parallele Ausführung (Multi CPU Processing
    • Benchmark Tests
    • Best Practices und Patterns