#java
На собеседовании был задан вопрос: "Какие требования предъявляются к volatile переменным?". Т.е. зачем это все нужно и что дает понятно, а вот по поводу требований я не смог найти конкретного ответа.
Ответы
Ответ 1
Если 2 потока читают и пишут в переменную, то использование только volatile недостаточно. Необходимо ещё использовать синхронизацию, чтобы гарантировать атомарность чтения и записи. Ещё из-за volatile страдает перформанс, потому что значение пишется\читается сразу в память, минуя кэши, а это дорого стоит. То есть не стоит использовать volatile в местах, где важен перформанс.
Комментариев нет:
Отправить комментарий