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 