2 Programmteile synchronisieren (Threads?)

  • Themenstarter Themenstarter FFNShadow
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
F

FFNShadow

Gast
Hallo.

Ich habe folgendes Problem und leider bin ich auf dem Gebiet der Threads nicht wirklich fit:

Programmteil Erzeuger, der in zufälligen Abständen Sachen erzeugt und diese in eine Datenbank schreibt.
Programmteil Konsument, der die Datenbank abrufen soll und mit den dortigen Einträgen arbeiten muss.

Beide Teile sind in 2 unterschiedlichen Klassen. Ich möchte, dass wenn der Erzeuger wieder neue Einträge für die DB erzeugt hat, dieser den Konsument informiert.
Der Konsument soll sich in einem Wartezustand (wait()?) befinden und halt nur bei neuen Einträgen aus diesem erweckt werden.

Hab jetzt schon viel über Threads und deren sychronisation gelesen, aber leider bezogen sich die Beispiele immer auf Threads, welche Programmteile aus der selben Klasse benutzen.

Ich benötige nun eine Idee, wie man diese beiden Programme, welche sich in 2 Klasse befinden miteinander synchronsieren kann.
Eigentlich benötigt man doch ein Objekt, auf das beide Teile zugreifen können und über das beide Threads synchroniert werden. Alle Beispiele, die ich bis jetzt gefunden habe, machen das mit einer privaten Variable in der selben Klasse. Nur leider sind bei mir beide Threads ja in 2 Klassen untergebracht und somit fällt diese Lösung leider weg.


Oder ist meine Idee einfach viel zu kompliziert und es gibt eine einfachere Idee, wie man das Geforderte umsetzen kann?

Bin für Ideen dankbar und danke schonmal für mögliche Hinweise.
 
hoi!

du kannst es ja mal so versuchen, solange du nur die beiden Threads hast 😉
der verbraucher sollte einfach auf dem erzeuger wait() aufrufen z.B.: erzeuger.wait() und der erzeuger ruft notify() auf, wenn er wieder Objekte erzeugt hat this.notify() 😉[/code]
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben