ZFI Logo GOCO

GOCO-0320, Beginn Do 8. Okt, Dauer 1 Tage

Google Go Concurrent Programming (GOCO-0320)

Kurspreis 800 CHF

 

Kurstermine

 

1. Tag :  Do 8. Okt 2020

GOCO-0420, Beginn Fr 13. Nov, Dauer 1 Tage

Google Go Concurrent Programming (GOCO-0420)

Kurspreis 800 CHF

 

Kurstermine

 

1. Tag :  Fr 13. Nov 2020

GOCO-WL, Beginn Do 31. Dez, Dauer 1 Tage

Google Go Concurrent Programming (GOCO-WL)

Kurspreis 800 CHF

 

Kurstermine

 

1. Tag :  Do 31. Dez 2020

Kursbeschreibung

Google Go Concurrent Programming
WICHTIG: Dieser Kurs wird zurzeit online angeboten und kann sowohl als öffentlicher Kurs (mind. 3 Teilnehmer), Privatkurs oder Firmenschulung durchgeführt werden. Sie nehmen in Ihrem (Home-)Office am Kurs teil.
    Folgende Infrastruktur wird benötigt: Processor i7 oder vergleichbar, mind. 8GB RAM, VMWare Workstation Player Version 12+. VMWare Player ist optional, wenn man die Software schon lokal installiert hat. 2 Bildschirme sind von Vorteil, wobei einer zum Fernunterricht benutzt wird und der andere zur Umsetzung der Übungen. Alle Unterlagen werden Online zur Verfügung gestellt. Der Kurs findet in 2 Blöcken à 3 Stunden statt.
    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