Programmieren 2: Lesson 3

JavaMethode_u_Laufzeit

ADRELI_2_THREAD macht unsere Projektfolge spannend! Die Lösung aus dem Projekt ADRELI_1_CON läuft. ADRELI_1_CON ist eine moderate Weiterentwicklung aus dem Erst-Semester-Projekt “Friends”. Im Grunde eine einfache monolithisch Lösung.

Nun steigen wir um auf eine erste MVC-Architektur. MVC steht für model-view-controller. Wir werden innerhalb der JVM (Java Virtual Machine) das bisher monolithische Programm aufteilen in drei Threads.

  • Der view-Thread kümmert sich um das User-Interface (character-based, Konsole und Keyboard).
  • Der model-Thread kümmert sich um die Datenhaltung (momentan noch im csv-File)
  • Der controller-Thread initialisiert die Thread-Infrastruktur: instantiiert view– und model-Thread, die ihre Daten mittels zweier Pipes austauchen. Die Instantiierung der Pipes gehört ebenfalls zum Aufgabenbereiche des Controllers.

Die ersten Überlegungen dazu, sind auf youtube YouTube zu sehen.   JAVA_2_PROJEKT_ADRELI_2_THREADING_Grd_Struktur_ohne_pipes

JavaMethode_u_LaufzeitEs geht um die Klasse Thread, die Methode run() und die (veränderte) Methoden-Aufruf-Semantik von Threads im Gegensatz zu “normalen” Methoden. Es geht um “synchrone” vs. “asynchrone” Methodenausführung.

Was Pipes sind und wie der Einbau der Pipes erfolgt, Sie sehen es im nächsten Video. Am Besten den Kanal abonnieren und dabei bleiben.

Tipp: Im Grunde steht alles schon im Skript – vergleichen Sie Video und Skript!

Ich freue mich auf die Diskussion.

Benutzer-Avatar

Autor: Prof. Illik Hans

Studium der Wirtschaftsinformatik an der TUM Technischen Universität in München. Berufliche Stationen: Hardwarehersteller in München - Softwarehäuser in München - eigene Firmen in München, Stuttgart und Birmingham/UK- mehrere Bücher zum Programmieren und eCommerce -Lehraufträge an verschiedenen Hochschulen in München, Stuttgart, Frankfurt - Professur an der HFU - Softwareentwickler (Ada/C/C++/C#/PHP/Python/Java) - Berater - Coach - Betriebsystemen (Unix-Portierungen) und Implementierung von eShops (Magento u.a.).

Ein Gedanke zu „Programmieren 2: Lesson 3“

  1. Die ersten Thread-Architekturen für das Projekt ADRELI_2_Threads habe ich heute sehen können. Mein Eindruck: einerseits hat die Implementierung entlang des YouTube-Vorschalgs https://youtu.be/lvFrJTwNNTE ganz ordentlich geklappt. Andererseits – häufigster Fehler: die Thread-Methode run() wird nicht mit start() gestartet (so wie’s richtig wäre). Sondern falscherweise mit run() (so wie’s nur für nicht-gethreadete Methoden richtig wäre, sie unter ihrem eigenen Namen zu starten.)

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.