Hallo,
ich habe eine globale ArrayList. Diese ArrayList bearbeite ich in meinem Programm, ändere also Einträge und füge auch welche hinzu, das passiert alle 3 Sekunden. Jetzt möchte ich diese ArrayList von Zeit zu Zeit in eine Datei schreiben, also einen automatische Sicherung alle paar Minuten in einen seperaten Thread, da das Speichern länger dauern kann, 6-10 Sekunden.
Kann ich gefahrlos beides gleichzeitig machen oder muss ich unbedingt vermeiden, dass die AL während des Schreibens in eine Datei verändert wird?
Die Speicherroutine sieht so aus:
ich habe eine globale ArrayList. Diese ArrayList bearbeite ich in meinem Programm, ändere also Einträge und füge auch welche hinzu, das passiert alle 3 Sekunden. Jetzt möchte ich diese ArrayList von Zeit zu Zeit in eine Datei schreiben, also einen automatische Sicherung alle paar Minuten in einen seperaten Thread, da das Speichern länger dauern kann, 6-10 Sekunden.
Kann ich gefahrlos beides gleichzeitig machen oder muss ich unbedingt vermeiden, dass die AL während des Schreibens in eine Datei verändert wird?
Die Speicherroutine sieht so aus:
Java:
public static void writeFile2(final ArrayList<String> liste,String filename) throws IOException{
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename)));
for(String string:liste) {
bw.write(string);
bw.newLine();
};
bw.flush();
bw.close();
}