Карточка Middle Потоки и Java Memory Model спрашивают часто обновлено

Что гарантирует volatile

Вопрос

Что гарантирует volatile и чего не гарантирует?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Гарантирует видимость: запись видна последующим чтениям в других потоках (happens-before), и запрет переупорядочивания вокруг доступа. Атомарность есть только у одиночного чтения или записи (в том числе long и double), составные операции вроде count++ не атомарны.

Ответ

Гарантирует видимость: запись видна последующим чтениям в других потоках (happens-before), и запрет переупорядочивания вокруг доступа. Атомарность есть только у одиночного чтения или записи (в том числе long и double), составные операции вроде count++ не атомарны.

Разбор

Гарантирует видимость: запись видна последующим чтениям в других потоках (happens-before), и запрет переупорядочивания вокруг доступа. Атомарность есть только у одиночного чтения или записи (в том числе long и double), составные операции вроде count++ не атомарны.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме