volatile - co to mi daje?

0

Nie rozumiem do konca sensu slowa kluczowego volatile. Czy ono ni eroobi tego samego co moge uzyskac przez synchronizacje metod w wielu watkach? Prosze o wytlumaczenie mi tego.

0

Wielkie dzieki! Czyli z powyzszych tekstow wynika ze moge sobie wybrac czy dana zmienna ma byc volatile czy uzywac metody synchronizowanej? I czy to sie rowniez dotyczy obiektow klas czy tylko prymitywow?

0

Używając volatile masz możliwość jednoczesnego dostęp do najaktualniejszej wartości zmiennej i chyba tyle tego dobrego. Korzystałem z tego raz w dość specyficznej sytuacji. Był sobie jeden wątek monitorujący zmiany pliku konfiguracyjnego i czytający nowe ustawienia (czas na jaki mają się zatrzymywać inne wątki / czas po jakim mają przerywać pracę etc.) i N innych wątków, które pobierały ustawienia konfiguracyjne (częsty odczyt wartości zmiennych). Synchronize na gettera wartości blokowało inne wątki, więc w tym przypadku volatile wydawało się lepszym pomysłem i pozwoliło oszczędzić jakieś tam niewielkie ms ;-)

Co do stosowania volatile do typów nie-prymitywnych, to nie wiem. Nie korzystałem. Trudno mi znaleźć jakieś sensowne zastosowanie do tego:)

pzdr,
y.

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