Junior — Middle
87
¿En qué casos se debe usar la palabra clave volatile en Java?
Empresas donde se preguntó
Respuesta de la IA
sobes.tech AI
Ключевое слово volatile в Java применяется для переменных, к которым обращаются несколько потоков одновременно, чтобы гарантировать видимость изменений этой переменной во всех потоках. Оно предотвращает кэширование значения переменной в локальной памяти потока и запрещает переупорядочивание операций с этой переменной.
Используйте volatile, когда:
- Переменная может изменяться в одном потоке и читаться в другом.
- Не требуется атомарность операций (например, инкремент не подходит, так как он не атомарен).
- Нужно обеспечить свежесть значения без использования более тяжелых механизмов синхронизации.
Пример:
volatile boolean flag = false;
// Поток 1
flag = true;
// Поток 2
if (flag) {
// увидит обновленное значение
}
Если не использовать volatile, поток 2 может не увидеть обновление flag из-за кэширования.