Watki - pytanie o synchronizacje zmiennej boolean

0

Witam. Mam obiekt klasy A implements Runnable, i jest metoda run w petli sobie sprawdza czy zmienna boolean dalej jest true. Jesli jest to leci dalej. W obiekcie klasy B, moze sie zdarzyc ze wywolana zostanie metoda klasy A, ktora ustawia zmienna dalej na false (jest to okienko Swing z buttonem, ktorego actionListener wywoluje a.setDalej(false)). Do tego, metoda setDalej wykonuje kilka innych czynnosci, niezwiazanych z watkiem.
Moje pytanie brzmi - czy musze uzywac tam slowa synchronized w metodzie setDalej oraz locka w metodzie run (wg specyfikacji Javy jest chyba ze porownywania i przypisywania prymitywow to jedna instrukcja z wyjatkiem typow double oraz long), a jesli nie to moze powinienem uzyc slowa volatile do zmiennej dalej (podobno tylko wtedy sie uzywa jak zmienne sa zmieniane bezposrednio a nie poprzez metody)?
Prosze o podpowiedz. Pozdrawiam!

0

pomysl o metodach wait() i notifyAll()</b>

0

wait i notifyAll, co za crap :/

0

pinkus - ciekawa opinia, mozesz ja rozszerzyc ?

0

Nie mowie ze to metody to crap, tylko ze po co mi one w moim problemie to nie rozumiem. Pozdro.

0

no coz, wait, notify i notifyAll zostaly zrobione po to by ulatwic synchronizacje watkow, jak nie chcesz ich uzywac to twoja sprawa :]

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