
In diesem Video werden wir die drei Fragen bezüglich asynchroner Programmierung beantworten:
Was ist asynchrone Programmierung?
Warum benötigen wir diese?
Was macht es so kompliziert damit zu arbeiten?
In diesem Video sehen wir uns 2 von 3 Mechanismen der asynchronen Programmierung an.
Lerne welches der wichtigste Mechanismus zur Anwendung asynchroner Programmierung als Applikationsentwickler ist.
In diesem Video schauen wir noch einmal darauf wie dieser Kurs aufgeteilt ist und welche Themen wir eigentlich behandeln
Code Beispiele der Videos zum Download.
Lerne in diesem Video was wir in diesem Kapitel anschauen werden und wie wir den TLS (Thread Local Storage) nutzen können, um Daten in einem einzelnen Thread zu isolieren.
In diesem Video lernen wir die verschiedenen Methoden der Thread API, um einen Thread zu starten kennen und was im OS etwa passiert wenn wir das tun.
In diesem Video gibt es eine Übersicht über die Möglichkeiten, einen Thread zu beenden.
In diesem Video sehen wir, wie wir Threads kooperieren lassen, damit wir sie sicher stoppen können ohne den Zustand der Applikation zu gefährden.
Lerne den Unterschied von Foreground und Background Thread kennen und anwenden.
In diesem Video sehen wir, wie man mit der Join Instanzmethode eines threads auf ein etwaiges Ergebnis eines Threads warten kann.
In diesem Video sehen wir uns grundsätzliches Error Handling mit Threads an und welche Unterschiede es hier bezüglich Foreground und Background Threads gibt.
In diesem Video sehen wir wie der Threadpool konzeptionell funktioniert und warum wir diesen eigentlich haben wollen.
In diesem Video sehen wir uns im Code an, wie wir Arbeit auf dem Threadpool einreihen können mit Hilfe von verschiedenen Techniken.
Eine kurze Zusammenfassung des Kapitels und ein Ausblick auf die folgenden Themen.
Eine kurze Unterbrechung in eigener Sache.
Verfügbare Kurse wenn du 50% dieses Kurses vervollständigt hast:
- Docker für Entwickler
- C# und LINQ
Schreibe was du davon haben möchtest einfach in den Q&A Teil dieses Kurses.
Lade dir den Code für die Videos dieses Kapitels herunter.
Lerne in dieser Übersicht, warum wir Thread Sicherheit benötigen und welche grundsätzlichen Mechanismen und Ideen es dazu gibt.
Lerne die exklusiven Locking Mechanismen und das Konzept dahinter genauer kennen.
In diesem Video lernst du, wie du exklusives Locking korrekt einsetzt. Dafür nutzen wir den Monitor sowie das syntactic Sugar lock statement
In diesem Video lernst du die zwei Nicht exklusiven Locking Ansätze kennen. Zusätzlich schauen wir uns an wie der ReaderWriterLock verwendet wird.
Mit der Monitor Klasse kann man nicht nur den Zugang zu Ressourcen beschränken bzw. nicht atomare in atomare Operationen umwandeln, sondern auch Kooperation zwischen Threads initiieren. Wie das geht, lernst du in diesem Video
Lerne in diesem Video wie du die meist verbreiteten Signaling Konstrukte in .Net korrekt verwendest.
Dieser Artikel gibt einen Hinweis auf die zusätzlichen Signaling Konstrukte in .Net
Lerne in diesem Video die API der ConcurrentQueue<int> kennen und wie wir die Thread safe Lazy<T> Struktur verwenden können.
Dieser Artikel enthält einen Hinweis auf die weiteren Concurrenten Datenstrukturen die wir im .Net Framework zur Verfügung haben.
Lerne wie es zu Race Conditions und Dead Locks kommen kann und wie du diese am besten vermeiden kannst.
In dieser Zusammenfassung schauen wir uns noch einmal alle Themen die wir im Zusammenhang mit der Thread Sicherheit behandelt haben an.
Was sind Tasks? Was ist die TPL? Was ist das Ziel davon? Lerne die Antworten auf diese Fragen und einige weitere kennen.
Code für dieses Kapitel zum Download.
In diesem Video schauen wir uns den ersten Teil der Tasks API an: Starten von Tasks.
Lerne in diesem Video, wie wir Daten in einen Task hineingeben und wie wir Daten von einem Task zurückgeben können.
In diesem Video beeinflussen wir die Art des unterliegenden Threads eines Tasks.
In diesem Video gibt es einen kurzen Einblick darein, wie wir den Status eines Tasks überprüfen können. Und was das für uns bedeutet.
Lerne wie du Tasks vorzeitig stoppen kannst über Cancellation und Koordination mit Hilfe von CancellationToken.
In diesem Video lernst du die zwei Hierarchien kennen, in denen Tasks angeordnet werden können. Child Tasks und Continuations.
In diesem Video lernst du wie du mit den Exceptions eines Tasks umgehst, den Aggregate Exceptions.
In diesem Video schauen wir uns an, wie wir die TaskCompletionSource nutzen können, um jegliche API in Tasks zu wrappen. Ob dies nun Legacy Apps, Unit test Mocks oder ähnliche Konzepte sind.
Lerne in diesem Video was die beiden Keywords async & await für uns leisten können.
Lerne in diesem Video wie du deine Task basierten APIs strukturieren solltest, damit diese den Konventionen entsprechen.
Eine kurze Zusammenfassung des Kapitels findest du in diesem Video
In diesem Video schauen wir uns an, was mit paralleler Programmierung gemeint ist und beantworten die folgenden Fragen:
Warum wollen wir Dinge parallelisieren?
Was wollen wir parallelisieren?
Wie machen wir das mit der TPL?
Lade hier den Code für dieses Kapitel herunter.
In diesem Video sehen wir uns an, wie die Parallel.Invoke methode genutzt werden kann, um einen einfachen Algorithmus zu parallelisieren.
In diesem Video schauen wir uns die Parallelisierung einer simplen For Schleife an und lernen, warum Schleifen sich relativ gut eignen, bzw. wann auch Schleifen sich nicht gut zum Parallelisieren eignen.
Dieses Video geht etwas tiefer in die Behandlung von Parallelen Schleifen ein. Wir schauen dabei die parallele For Each Schleife an und behandeln auch den ParallelLoopState sowie das ParallelLoopResult.
Lerne grundsätzlich wie PLINQ funktioniert und wie es eingesetzt wird.
Lerne in diesem Video was bei der Auswahl von PLINQ als Mittel der Parallelisierung zu beachten ist.
Eine kurze Zusammenfassung des Kapitels
Lade hier den Code für die Inhalte des Kapitels herunter.
Lerne in diesem Video wie du grundsätzlich mit der Process Klasse aus dem namespace System.Diagnostics umgehst, um neue OS Prozesse zu starten.
In diesem Video schauen wir uns die Kommunikation von ZeroMQ und Prozessen an.
Lerne in diesem Video aufbauend auf den beiden davor, wie du ZeroMQ einsetzt um Prozesse zu starten und asynchrone Arbeit erledigen zu lassen.
Lerne in diesem Video, wie du RabbitMQ einsetzen kannst, um asynchron Nachrichten zwischen Prozessen und Maschinen zu versenden.
Ein essentielles Tool, nicht nur in der asynchronen Programmierung sondern auch in fast jeder modernen Architektur.
Lerne wie du mit dotnet scripts umgehen kannst.
Eine kürze Erklärung und Übersicht zu lambdas bzw. anonymen Methoden.
Hast du dich schon einmal über asynchrone Bugs gewundert?
Arbeitest du mit unresponsive UI Applikationen oder werden die System Ressourcen einfach nicht vollständig ausgenutzt für eine angemessene Performance?
Falls dir eines von diesen, oder ähnlichen Problemen mit der asynchronen Programmierung bekannt ist, dann wird dir dieser Kurs dabei helfen, diese zu überwinden.
Kurz gesagt lernst du in diesem Kurs mit Concurrentem (nebenläufigem) Code in .NET zu arbeiten.
Du wirst nicht nur lernen, was asynchrone Programmierung eigentlich ausmacht, sondern auch wie die Mechanismen der asynchronen Programmierung aussehen.
An das alles wirst du langsam herangeführt, in dem du die Grundzüge von Threads erlernst. Also was ist ein Thread, wie funktioniert dieser usw.
Das Ganze wird anhand der Thread API dargestellt, die dazu nutzt die restlichen Konzepte des Kurses zu verstehen.
Nach der Thread API, schauen wir uns an wie man mit .NET Thread Safe programmieren kann und was das eigentlich ist.
Weiterhin lernst du die TPL (Task Parallel Library) kennen und nutzt Tasks und die async & await keywords für eine Task basierte asynchrone Programmierung.
Außerdem schauen wir noch Möglichkeiten und Wege für die parallele Programmierung an und wie sich das im Verhältnis zur asynchronen Programmierung darstellt.
Die Themen in der Übersicht:
Asynchrone Programmierung verstehen (Warum, Was, Wie)
Die .NET Thread API
TPL mit Tasks und den async await keywords
Thread Safety mit Locking, Signaling und Concurrent Collections
Alles darüber wie concurrency funktioniert
Zögere nicht weiter, schreib dich ein und genieße:
das Fortschreiten deiner Karriere
und meistere einen der wichtigsten Skills als Entwickler
Sollte dich das nicht überzeugen, hast du immer noch die 30 Tage Geld zurück Garantie.