Ich möchte bestimmte Abläufe mit einem Timeout versehen.
Allgemein ist ja der Weg über "Thread.interrupt()" gängig.
Die run() meines Runnable führt allerdings Funktionen aus, die unbegrenzt blocken können,
ohne dass ich da reingreifen kann.
Also geht ein Check mit "isinterrupted()" nicht.
Bleibt noch die InterruptedException. In deren Behandlung kann ich das Beenden einfügen.
Wie aber stelle ich sicher, dass ein Runnable sich daran auch wirklich hält ?
Falls das Runnable nicht beenden will oder kann, müsste ich es ja doch wieder von Außen erschlagen.
Dabei ergibt sich das Problem "Wieviel Zeit bekommt der Thread, um sich selbst zu beenden ?".
Hat jemand eine Idee ?
-- -- muckelzwerg
Allgemein ist ja der Weg über "Thread.interrupt()" gängig.
Die run() meines Runnable führt allerdings Funktionen aus, die unbegrenzt blocken können,
ohne dass ich da reingreifen kann.
Also geht ein Check mit "isinterrupted()" nicht.
Bleibt noch die InterruptedException. In deren Behandlung kann ich das Beenden einfügen.
Wie aber stelle ich sicher, dass ein Runnable sich daran auch wirklich hält ?
Falls das Runnable nicht beenden will oder kann, müsste ich es ja doch wieder von Außen erschlagen.
Dabei ergibt sich das Problem "Wieviel Zeit bekommt der Thread, um sich selbst zu beenden ?".
Hat jemand eine Idee ?
-- -- muckelzwerg