S
surfi
Gast
Hallo miteinander
Ich hoffe ich bin im richtigen Forum. Ich habe folgende Problemstellung:
Ich habe 2 Threads in einem Programm. Der eine Thread schreibt alle 10 Sekunden eine XML-Datei (FileOutputStream) und der zweite Thread liest alle 5 Sekunden diese XML-Datei (FileInputStream) ein. Absehbar werden diese beiden Threads einmal gleichzeitig auf die Datei zugreifen wollen. Mein Problem ist nun, wie halte ich die Threads davon ab gleichzeitig auf das FIle zuzugreifen.
Probiert habe ich es mit FileChannel / FileLock. Jedoch ist es das Problem, dass ich vom InputStream zwar über getChannel() den FileChannel holen kann, jedoch kann ich keinen lock() darauf ausführen (NonWritableChannel-Exception) was eigentlich für einen InputStream logisch tönt...
Hat jemand eine Idee?
Vielen Dank im voraus.
Gruss
Ich hoffe ich bin im richtigen Forum. Ich habe folgende Problemstellung:
Ich habe 2 Threads in einem Programm. Der eine Thread schreibt alle 10 Sekunden eine XML-Datei (FileOutputStream) und der zweite Thread liest alle 5 Sekunden diese XML-Datei (FileInputStream) ein. Absehbar werden diese beiden Threads einmal gleichzeitig auf die Datei zugreifen wollen. Mein Problem ist nun, wie halte ich die Threads davon ab gleichzeitig auf das FIle zuzugreifen.
Probiert habe ich es mit FileChannel / FileLock. Jedoch ist es das Problem, dass ich vom InputStream zwar über getChannel() den FileChannel holen kann, jedoch kann ich keinen lock() darauf ausführen (NonWritableChannel-Exception) was eigentlich für einen InputStream logisch tönt...
Hat jemand eine Idee?
Vielen Dank im voraus.
Gruss