Junior — Middle
Šta podrazumeva ključna reč volatile u Java programiranju?
sobes.tech АИ
Одговор од АИ
U Javi, ključna reč volatile se koristi za označavanje promenljive čija vrednost može biti promenjena od strane više niti istovremeno. Ona garantuje da će čitanje i pisanje te promenljive biti izvršeni direktno iz glavne memorije, a ne iz keš memorije procesora, čime se obezbeđuje vidljivost promena između niti.
Bez volatile, jedna nit može videti zastarelu vrednost promenljive, jer promene mogu ostati u lokalnom kešu druge niti.
Primer:
public class Counter {
private volatile int count = 0;
public void increment() {
count++; // neatomska operacija, ali `volatile` garantuje vidljivost
}
public int getCount() {
return count;
}
}
Važno: volatile ne garantuje atomarnost operacija, pa je za složenije promene bolje koristiti sinhronizaciju ili atomsku klasu iz java.util.concurrent.atomic.