Hallo zusammen!
Aus gewissen Gründen lasse ich zwei verschiedene Javaprogramme parallel laufen, wobei keine die andere mit new oder sonst etwas aufruft. Dennoch sollen beide aufeinander reagieren. D.h., immer wenn das erste Programm ein Signal sendet, das das zweite erkennen kann, macht das zweite irgendetwas.
Ich würde das so lösen:
- Programm A speichert Signaldatei "sig.dat" ohne Inhalt im Verzeichnis XYZ
- Programm B steckt in Schleife: prüft im Verzeichnis XYZ ständig ob "sig.dat" vorhanden ist (per Process/Runtime und DOS-Befehl)
- falls Programm B fündig wird, reagiert es, löscht "sig.dat" und wartet auf dessen nächstes Auftauchen
Meine Befürchtung: Durch das permanente Prüfen des Verzeichnisses wird die Festplatte vielleicht so ausgelastet, dass andere Festplattenoperationen nur noch im Schneckentempo ablaufen.
Ist diese Befürchtung berechtigt?
Falls ja, kann man alternativ dazu mit Java direkt im Arbeitsspeicher ein Signal ablegen? Wie?
Grüße,
Founder
Aus gewissen Gründen lasse ich zwei verschiedene Javaprogramme parallel laufen, wobei keine die andere mit new oder sonst etwas aufruft. Dennoch sollen beide aufeinander reagieren. D.h., immer wenn das erste Programm ein Signal sendet, das das zweite erkennen kann, macht das zweite irgendetwas.
Ich würde das so lösen:
- Programm A speichert Signaldatei "sig.dat" ohne Inhalt im Verzeichnis XYZ
- Programm B steckt in Schleife: prüft im Verzeichnis XYZ ständig ob "sig.dat" vorhanden ist (per Process/Runtime und DOS-Befehl)
- falls Programm B fündig wird, reagiert es, löscht "sig.dat" und wartet auf dessen nächstes Auftauchen
Meine Befürchtung: Durch das permanente Prüfen des Verzeichnisses wird die Festplatte vielleicht so ausgelastet, dass andere Festplattenoperationen nur noch im Schneckentempo ablaufen.
Ist diese Befürchtung berechtigt?
Falls ja, kann man alternativ dazu mit Java direkt im Arbeitsspeicher ein Signal ablegen? Wie?
Grüße,
Founder