Prozess-Konkurrenz

ChillStudent

Mitglied
Hallo, ich muss eine Aufgabe bearbeiten, wo ich um ehrlich zu sein 0 Plan habe wie ich voran gehen kann...sollte für einige hier im Forum einfach sein...ich bitte um hilfe für einen ansatz :/ ich weiß nicht wie ich voran gehen soll....

Aufgabe

Wir gehen von gemeinsamen Variablen Kontostand aus, welche zu Anfang mit 100 initialisiert ist. Zudem existieren zwei Threads P1 und P2, welche mittels getKontostand() und setKontostand(int) auf die Variable lesend und schreibend zugreifen können. Während P1 regelmäßig versucht den Kontostand um 10 zu erhöhen, reduziert P2 ihn ständig um 10. Als Teil der Lösung muss auch der Quellcode abgegeben werden (Java-Datei oder C-Datei)!

a) Implementieren Sie für das oben genannte Szenario den in der Vorlesung vorgestellten Ansatz
„Flagge setzen“ und beschreiben Sie Ihre Beobachtungen.

b) Erklären Sie, ob der Ansatz aus a) den auf Vorlesungsfolie 3 gestellten Anforderungen an eine gute Lösung gerecht wird. Wieso/wieso nicht?

c) Implementieren Sie für das oben genannte Szenario den in der Vorlesung vorgestellten Ansatz „Streng alternierender Zugriff“ und beschreiben Sie Ihre Beobachtungen.

d) Erklären Sie, ob der Ansatz aus c) den auf Vorlesungsfolie 3 gestellten Anforderungen an eine gute Lösung gerecht wird. Wieso/wieso nicht?


Ich bedanke mich schon im voraus :)
 

njans

Top Contributor
Du baust dir 2 Threads und hast eine gemeinsame Variable Kontostand. Beide können auf diese Zugreifen und diese ändern. Dann sollst du a - d machen.
 

JavaMeister

Gesperrter Benutzer
Dann als erstes eine Klasse Konto bauen mit den beiden Methoden.

Anschließend zwei Threads erzeugen, die ein Objekt der Klasse Konto kennt. Und zwar das gleiche.

Dafür kann man von Runnable erben und das Konto via Konstruktor übergeben.

Dann kann man in die RUN Methode das gewünschte verhalten implementieren.

Sag Bescheid, wenn du das hast.
 
Zuletzt bearbeitet:

Neue Themen


Oben