takidoso
Erfahrenes Mitglied
Hallo und Halli,
ich analysiere gerade ein Programm, welches daemonengleich andere Prozesse über Batch-jobs startet.
Dabei habe ich folgen drolligen Code
In den ConsumerThreads wird lediglich der Stream gelesen ohne etwas damit zu tun, mit dem hinweis dass dies getan wird damit es sich nicht verhakt.
Das Ganze findet Gebrauch auf einer Unix-Kiste.
Nun meine Frage:
Ist jemand hier, der einen solchen Workaround schonmal gesehen hat und ihn mir erklären kann? Gibt es dazu Alternativen (eine Datei so zum Spaß noch mal zu lesen, nur damit sich nichts verhakt, finde ich nicht sonderlich prickelnt, da ich erstmal davon ausgehe das es auch eine Performanceeinbuße sein dürfte.)
Für nützliche Hinweise dankbar (und nebenbei noch ein schönes Neues...)
Takidoso
ich analysiere gerade ein Programm, welches daemonengleich andere Prozesse über Batch-jobs startet.
Dabei habe ich folgen drolligen Code
Code:
Runtime rt = Runtime.getRuntime();
try
{
subProcess = rt.exec(commandLine);
logDebug("Converter " +commandLine + " started");
}
catch (IOException ioEx)
{
logError("Error during starting converter: " + commandLine);
throw ioEx;
}
errorStreamConsumerThread = new StreamConsumerThread(subProcess.getErrorStream());
outputStreamConsumerThread = new StreamConsumerThread(subProcess.getInputStream());
errorStreamConsumerThread.start();
outputStreamConsumerThread.start();
In den ConsumerThreads wird lediglich der Stream gelesen ohne etwas damit zu tun, mit dem hinweis dass dies getan wird damit es sich nicht verhakt.
Das Ganze findet Gebrauch auf einer Unix-Kiste.
Nun meine Frage:
Ist jemand hier, der einen solchen Workaround schonmal gesehen hat und ihn mir erklären kann? Gibt es dazu Alternativen (eine Datei so zum Spaß noch mal zu lesen, nur damit sich nichts verhakt, finde ich nicht sonderlich prickelnt, da ich erstmal davon ausgehe das es auch eine Performanceeinbuße sein dürfte.)
Für nützliche Hinweise dankbar (und nebenbei noch ein schönes Neues...)
Takidoso
Zuletzt bearbeitet: