Zdravo svima,
Pocela sam da ucim niti i naisla sam na sledeci problem.
Program izgleda ovako
package Niti;
public class NT5a extends Thread {
boolean signal;
NT5a(){
signal=true;
start();
}
public void run(){
InterruptKojiPrekidaNeuspavanuNit();
System.out.println("Prekinuta nit.");
}
public void InterruptKojiPrekidaNeuspavanuNit(){
//while(!isInterrupted()&&signal){}
while(!interrupted()&&signal){
}
System.out.println("Status prekida: "+ isInterrupted());
}
public static void main(String[] args)throws Exception{
NT5a nn=new NT5a();
nn.interrupt();
}
}
Prrogram radi dobro, nakon sto se pokrene run metoda niti nn, interrupt metoda prekine while petlju i zavrsi rad metode InterruptKojiPrekidaNeuspavanuNit, a time i rad run metode.
Medjutim, buni me kako radi program u debug modu. Prvo postavim breakpoint na nn.interrupt(); a onda na while(!interrupted()&&signal){ !interrupted()&&signal vraca true, a izadje iz while petlje. Nije mi jasno zasto?
Hvala na pomoci!