Hi Leute!
Ich hab zwei Klassen, die von Thread erben und Runnable implementieren. Dann gibt es noch eine ConcurrentLinkedQueue als Singleton, Thread A schreibt ständig Daten in die Queue rein. Thread B liest diese auch ständig wieder aus (dazu habend die run()-Methoden jeweils eine Endlosschleife). So, jetzt will ich aber, dass Thread B solange nichts tut, bis eine gewisse Anzahl von Elementen in der Queue ist. Sind dann sagen wir mal 500 Elemente mindestens drin, soll Thread A solange warten, bis Thread B alle abgearbeitet hat. Es sollte nicht so sein, dass Thread B jetzt 300 Elemente abarbeitet und dann Thread A wieder 10 Elemente reinschreibt und dann Thread B wieder weitermacht. Wenn Thread B einmal anfängt, soll er solange arbeiten bis er fertig ist und dann wieder automatisch warten. Geht das überhaupt, was ich vorhab?
Viele Grüße,
Martin
Ich hab zwei Klassen, die von Thread erben und Runnable implementieren. Dann gibt es noch eine ConcurrentLinkedQueue als Singleton, Thread A schreibt ständig Daten in die Queue rein. Thread B liest diese auch ständig wieder aus (dazu habend die run()-Methoden jeweils eine Endlosschleife). So, jetzt will ich aber, dass Thread B solange nichts tut, bis eine gewisse Anzahl von Elementen in der Queue ist. Sind dann sagen wir mal 500 Elemente mindestens drin, soll Thread A solange warten, bis Thread B alle abgearbeitet hat. Es sollte nicht so sein, dass Thread B jetzt 300 Elemente abarbeitet und dann Thread A wieder 10 Elemente reinschreibt und dann Thread B wieder weitermacht. Wenn Thread B einmal anfängt, soll er solange arbeiten bis er fertig ist und dann wieder automatisch warten. Geht das überhaupt, was ich vorhab?
Viele Grüße,
Martin