Back to questions
Т-Банк
Junior — Middle
67
Можете объяснить назначение и принцип работы ключевого слова volatile в контексте разработки под Android?
Companies where asked
Answer from AI
sobes.tech AI
Ключевое слово volatile в Java (и, соответственно, в Android-разработке) используется для обеспечения видимости изменений переменной между потоками.
Когда переменная объявлена как volatile, это гарантирует, что:
- Чтение переменной всегда будет происходить из основной памяти, а не из кэша потока.
- Запись в переменную сразу становится видимой для других потоков.
Это важно в многопоточном окружении Android, чтобы избежать ситуаций, когда один поток изменил значение, а другой продолжает видеть устаревшее.
Пример:
private volatile boolean isRunning = true;
public void stop() {
isRunning = false;
}
public void run() {
while (isRunning) {
// выполняем работу
}
}
Без volatile поток, выполняющий run(), может не увидеть изменение isRunning и зациклиться бесконечно.
Однако volatile не обеспечивает атомарность сложных операций, для этого нужны другие механизмы синхронизации.