Volatile — это квалификатор, используемый для определения области хранения данных (объекта, поля, переменной, параметра), которая «может изменяться сама по себе», таким образом запрещая некоторые оптимизации генератора кода. В некоторых, но не во всех языках, которые распознают этот квалификатор, доступ к таким данным является потокобезопасным.