Thread Interrupt

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hi an alle
Ich habe ein Problem mit Thread interrupt

// Thread timeout
Code:
void setTimeout()  {	  
	
		timeout = new Thread() {
		public void run() {
			while(true){
				if(isInterrupted()) System.out.print("interrupt\n") ;
				//if(timeoutreset==1) { System.out.print("Ende\n") ;break;}				
		try {Thread.sleep(5000);System.out.print("ok\n") ;} 
		catch (InterruptedException e) {interrupt();}
			if(timeoutflag==0) {  reset() ;}
			timeoutflag=0 ;
			}
		}
		};	
	}

// Interrupt aufrufen

Code:
if(checkStr==("0.10 €"))
		{						
			timeout.interrupt() ;
			timeoutflag=1;
			rückgabeflag=0;
               }

Der Thread timeout läuft enifach weiter obwohl da die Methode interrupt() aufgerufen wird

woran kann es liegen ?
 
Ich weiß zwar nicht sicher woran das liegen kann... aber vielleicht irgendeine Sicherheitsverletzung oder so...
Naja, aber ich empfehle, dass du der Thread-Klasse einfach eine zusätzliche boolsche Variable gibts, die man über eine ähnliche Funktion wie interrupt() setzen kann. Und statt dem isInterrupted() fragst du einfach diese Variable ab und das Problem ist umgangen.
 
danke das mir Variable geht aber ich möchte mal mit Stop und Interrupt auseinandersetzten
trotzdem dankee
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben