Problem z zatrzymanie pętli.

0

Witam mam następujący problem.
W klasie Test mam 2 przyciski.
Przyciski zmieniają wartość pola "static boolean warunekTmp" znajdującego się w klasie Test2 na true lub false w zależności który się kliknie.

W klasie Test2 mam pętlę
Java:

    try {
        for (;;) {
           
              if(pobierzWarunek()==false) break;
        }
    } catch (InterruptedException e) {
        return;              //  zakoncz ten watek
    }

Dodam że taka konstrukcja też nie działa:
Java:

  while (pobierzWarunek() ==true){
           
   
  }

pobierzWarunek() zwraca wartość pola warunekTmp. Jeżli kliknę na przycisk który przekazuje wartość true dla pola warunekTmp to później mimo że kliknę na przycisk który ustawia wartość false pętla nie chce się zakończyć.
Co jest nie tak?

Pozdrawiam.

0

Jeśli robisz taką pętle która pewnie służy jakimś obliczeniom to powinna ona być uruchamiana w wątku, a zmienną warunekTmp powinieneś zmieniać w metodzie synchronizowanej ;)

0

Dziękuję umieszczenie while w wątku pomogło :)
Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1