Что такое ключевое слово volatile в Java

Ключевое слово Java volatile гарантирует, что значение переменной volatile всегда будет считаться из основной памяти, а не из локального кэша Thread. Это означает, что каждое чтение изменчивой переменной будет считаться из основной памяти компьютера, а не из кэша ЦП, и что каждая запись в изменчивую переменную будет записана в основную память, а не только на кеш процессора. Ключевое слово Java volatile не может использоваться с методом или классом, и его можно использовать только с переменной.

 
private volatile boolean open = false;

Java имеет синхронизированные методы и синхронизированные блоки. Нет «синхронизированной» переменной. Использование синхронизируемого ключевого слова с переменной является незаконным и приведет к ошибке компиляции. Вместо синхронизированной переменной в Java вы можете иметь переменную Java volatile, которая будет инструктировать потоки JVM (Java Virtual Machine) для чтения значения изменчивой переменной из основной памяти и не кэшировать ее локально.

Источник: http://net-informations.com/Java/cJava/volatile.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector