Nebenläufige und verteilte Applikationen mit Akka.NET 14.01.2019, 00:00 Uhr

Brieffreundschaft

Parallel laufenden Code zu entwickeln, ist schwer. Nachrichtenbasierte Kommunikation hilft dabei.
Jeder, der schon einmal Anwendungen entwickelt hat, die mit mehreren Threads arbeiten, weiß, wie schwer das Programmieren von Parallelität ist. Dabei spielt es keine Rolle, ob dies mit nativen Threads geschieht oder mit einem Framework wie der Task Parallel Library (TPL) aus dem .NET-Fundus [1]. Die grundlegenden Probleme sind immer dieselben.
Das Beispiel des Codes in Listing 1 verdeutlicht das Problem. Dort finden sich die beiden Klassen Bank und Account, die für genau das stehen: ein Geldinstitut und ein Konto. Bei einer Bank kann man ein Konto eröffnen, danach kann man zwischen zwei Konten Geld überweisen – alle Banker unter den Lesern müssen an dieser Stelle bitte beide Augen zudrücken, denn hier wurde aus Gründen der Prägnanz auf alle Sicherheitsmechanismen verzichtet. Die zwei Freunde Sam und Bob gehören beide bereits dem Club der Millionäre an und haben dort Konten. Ihre Langeweile vertreiben sich die beiden mit einem Spiel: Jeder überweist dem jeweils anderen eine Million Mal jeweils einen Euro (siehe in Listing 1 die Methode TheMillionairesGame()).

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar