Volatile to kwalifikator używany do definiowania obszaru przechowywania danych (obiektu, pola, zmiennej, parametru), który „może się zmieniać samodzielnie”, uniemożliwiając w ten sposób niektóre optymalizacje generatora kodu. W niektórych, ale nie we wszystkich językach, które rozpoznają ten kwalifikator, dostęp do takich danych jest bezpieczny wątkowo.