Man kann ja bekanntlich mit Thread.isInterrupted() den interrupt Status eine Threads abfragen. Beispielsweise sieht man beim folgenden Programm im Debugger b=true:
Leider kann man in den Debuggern von Eclipse und Intellij IDEA nicht direkt Thread.currentThread().isInterrupted() debuggen. Es liefert immer false zurück. Sowohl vor als auch nach Zeile 2.
Ich habe ein wenig rumgespielt und festgestellt, dass der Debugger scheinbar der Interrupt-Status von den angehaltenen Threads sichert und wiederherstellt, dies ist aber nur eine Theorie.
Ich muss unbedingt den interrupt Status in einem komplizierten Programm debuggen und hoffe auf Ideen.
Java:
public static void main(String[] args) {
Thread.currentThread().interrupt(); //Zeile 2
boolean b = Thread.currentThread().isInterrupted();
}
Leider kann man in den Debuggern von Eclipse und Intellij IDEA nicht direkt Thread.currentThread().isInterrupted() debuggen. Es liefert immer false zurück. Sowohl vor als auch nach Zeile 2.
Ich habe ein wenig rumgespielt und festgestellt, dass der Debugger scheinbar der Interrupt-Status von den angehaltenen Threads sichert und wiederherstellt, dies ist aber nur eine Theorie.
Ich muss unbedingt den interrupt Status in einem komplizierten Programm debuggen und hoffe auf Ideen.