Auf Thema antworten

Hi,


sollen die Threads denn über einen längeren Zeitraum beständig/wiederholt in die Datei reinschreiben,

oder "berechnen" die irgendwas und schreiben dann ihre Ergebnisse in die Datei?


In ersterem Fall würde ich das vielleicht wie so eine "Producer-Consumer"-Geschichte aufziehen, wobei

die Threads die Producer sind und ein weiterer Thread als Consumer die Ergebnisse der Threads in die

Datei schreibt. Für diesen Ansatz brauchst du halt einen Speicher in den die Producer reinschreiben

und aus dem der Consumer´lesen kann. Der Zugriff auf diesen Speicher (sowas wie List<String> bei

der jedes Element eine Zeile der CSV-Datei werden soll) müsste dann synchronisiert werden. Ich

glaube da bietet sich vielleicht die ArrayBlockingQueue an. Wenn keiner der Producer-Threads was

in den Speicher geschrieben hat, müsste der Lesezugriff natürlich blockieren.


Im zweiten Fall kannste ja einfach die Ergebnisse der Threads synchronisiert in eine gemeinsame

List<String> packen und danach komplett in die Datei schreiben.


Hoffe das hilft dir ein wenig weiter ;)



Oben