Ausgabe nebenläufig machen

  • Themenstarter Themenstarter hüteüberhüte
  • Beginndatum Beginndatum
H

hüteüberhüte

Gast
Hallo, habe ein Programm, welches sehr viel ausgibt. Möchte aber,, dass erst mal gesammelt wird und dann alle paar Sekunden etwas ausgegeben wird. Möchte nicht für jede Ausgabe einen eigenen Thread erstellen+starten
1. Möglichkeit: BufferedWriter -> nicht nebenläufig
2.: In der run-Methode in einer Schleife Thread.sleep aufrufen und dann die Ausgabe erzeugen -> irgendwie unschön
Also wie erreicht man die Nebenläufigkeit der Ausgabe?
 
Könntest ja ne ArrayList z.B. füllen und wenn ne bestimmte Menge erreicht ist gibst du die Werte aus der Liste aus. Könnte wahrscheinlich auch mitm StringBuffer irgendwie gehen.
Aber ich denke da gibts mehrere Wege die gehen
 
Bau dir eine BufferKlasse, die Elemente zwischenspeichert und wenn du dann eben n Elemente hast, dann gibt es eine Ausgabe.
Das ganze dann eben Synchronized damit es Threadsicher ist. Könnte schon so einen Buffer geben, kenne ihn aber nicht.
 
Eine andere Möglichkeit wäre es zeitgebunden zu lösen. Alle "Schlag mich Tod"-Sekunden gibst du ungeachtet der Menge die Daten aus.

Das kannst du mit der Timer-Klasse umsetzen.
 
Das ist dann eben fraglich, ob sowas gewünscht ist. Ist besonders problematisch, wenn es viele Daten sind. Auch fraglich ist, ob einen diese unfertigen Daten überhaupt interessieren.
 
Lässt sich die Timer-Klasse mit der Implementierung eines Thread denn nachprogrammieren? Sehe das im Moment als eine Art Übung an
 

Neue Themen


Zurück
Oben