Volatile: значение термина и применение¶
Volatile (от лат. volatilis — «летучий», «непостоянный») — многозначный термин, использующийся в информатике, химии, экономике и лингвистике для обозначения свойства объекта изменяться, испаряться или быть нестабильным. В зависимости от области применения термин приобретает специфическое значение, но общая семантика связана с непостоянством, быстрой изменчивостью или способностью к переходу в газообразное состояние.
¶Информатика и программирование
В программировании ключевое значение термина связано с квалификатором типа языка C/C++ — volatile. Этот квалификатор указывает компилятору, что значение переменной может изменяться вне текущего потока выполнения программы — например, аппаратным обеспечением, обработчиком прерываний или другим потоком. Без этого указания компилятор может оптимизировать код, закешировав значение переменной в регистре процессора, что приведёт к некорректной работе при обращении к регистрам ввода-вывода или разделяемой памяти.
Типичные сценарии использования volatile:
- работа с регистрами микроконтроллеров, где значение меняется аппаратно;
- глобальные флаги, изменяемые в обработчиках прерываний;
- многопоточные программы (хотя для корректной синхронизации в C++11 рекомендуется использовать атомарные типы и мьютексы, так как volatile не гарантирует атомарности и упорядочивания операций).
В языке Java ключевое слово volatile применяется для полей класса: оно обеспечивает видимость изменений поля между потоками (запись происходит в основную память, а не в кеш потока), но не обеспечивает атомарность составных операций (например, инкремента). В C# аналогичный модификатор volatile применим к полям, но имеет ограничения по типам (допустимы ссылочные типы, указатели и некоторые примитивные типы).
Важно отличать volatile от const (константность) и от atomic (атомарность). Volatile решает проблему оптимизации компилятора, но не проблему гонок данных.
¶Химия и физика
В химии термин «летучесть» (volatility) описывает способность вещества испаряться при нормальных условиях. Летучие вещества — это жидкости или твёрдые тела с высоким давлением насыщенного пара. Классические примеры: эфир, ацетон, бензин, спирты, эфирные масла. Летучесть зависит от температуры, межмолекулярных взаимодействий и молекулярной массы. С повышением температуры летучесть растёт.
В физической химии летучесть (fugacity) — термодинамическая величина, характеризующая реальный газ и введённая для сохранения формы уравнений идеального газа при описании реальных систем. Летучесть связана с химическим потенциалом и стремится к давлению в пределе разреженного газа.
¶Экономика и финансы
В финансовой сфере термин волатильность (volatility) — статистический показатель изменчивости цены актива (акции, валюты, товара) за определённый период. Измеряется обычно как стандартное отклонение логарифмической доходности. Высокая волатильность означает значительные колебания цены, что связано с риском. Различают историческую волатильность (рассчитанную по прошлым данным) и подразумеваемую волатильность (оценку рынка, используемую в моделях опционного ценообразования, например, в формуле Блэка — Шоулза).
Индекс волатильности VIX (Чикагская биржа опционов) называют «индексом страха»: он отражает ожидания рынка относительно колебаний индекса S&P 500 на ближайшие 30 дней. Волатильность — ключевая характеристика риска в портфельной теории Марковица.
¶Лингвистика
В лингвистике термин «волатильность» применяется редко, но в некоторых работах используется для описания нестабильности языковых норм или быстрого изменения лексического состава. Более устоявшееся понятие — «летучие» слова или неологизмы, быстро выходящие из употребления. В контексте языковой политики иногда говорят о волатильности языковой ситуации — быстрой смене языковых предпочтений населения.
¶Техника и материаловедение
В технике летучими называют компоненты, которые легко испаряются при нагревании или нормальных условиях. Например, летучие органические соединения (ЛОС) — вещества, выделяющиеся из красок, лаков, клеёв, строительных материалов. Они участвуют в фотохимических реакциях в атмосфере, приводя к образованию приземного озона и смога. Контроль содержания ЛОС — важная задача экологического нормирования.
В электронике термин volatile memory (энергозависимая память) обозначает память, теряющую данные при отключении питания (например, оперативная память DRAM или SRAM). Противоположность — энергонезависимая память (flash, ROM), сохраняющая данные без питания.
¶Психология и социология
В психологии и социологии термин используется метафорически для описания нестабильности эмоционального состояния (эмоциональная волатильность), социальных настроений или политических предпочтений. Волатильность электората — склонность избирателей менять свои предпочтения между выборами, что затрудняет прогнозирование результатов.
¶Критика и ограничения термина
Многозначность термина создаёт сложности при переводе и междисциплинарном общении. В русскоязычной технической литературе для информатики устоялась транслитерация «волатильный», в финансах — «волатильность», в химии — «летучесть». Использование англицизма «волатильный» в русском языке иногда критикуется как избыточное, поскольку существуют точные русские эквиваленты («летучий», «нестабильный», «изменчивый»), однако в профессиональных сообществах термин закрепился как стандартный.