Thread Problem!!
-
Hi!
Unter JDK 1.1.X
Die Methode isInterrupted liefert nur false zurück!!
Ich rufe vorher die methode interrupt() auf, um den Flag zusetzen.
Die run() Methode wird aber nicht abgebrochen!!
for(;;)
{
if(myThread.isInterrupted())
{
break;
}
do something
}Außerhalb der Methode rufe ich myThread.interrupt() auf.
Danke im Voraus
-
hmm...eine leere for-Schleife die dann gleich von einer bedingten break-Anweisung gefolgt wird, ist auch mal was neues:-)
vielleicht liegt dein Problem daran, daß dein Thread im Schlaf erwischt worden ist (Thread.sleep() ) da wird nämlich ne InteruptedException ausgeworfen, bin mir nicht ganz sicher, aber ich glaub wenn diese Exception rausfliegt wird das Interupted-Flag wieder entfernt ... nuja falls du deinen Thread schlafen legst, mach das sinngemäß so, dann sollte es gehen:try { Thread.sleep(666); } catch(InteruptedException e) {/*code zum Verlassen hier reintun/*}
-
Hi!
Ich habe vergessen im catch Block interrupt aufzurufen!
Danke
public void kill()
{
myThread.interrupt();
}public void run()
{
for(;;)
{
if(progressBarThread.isInterrupted())
{
break;
}tue etwas ...
try
{
Thread.sleep(150);
}
catch(InterruptedException ie)
{
kill();
}
}
}