Сопоставление Senior Потоки и Java Memory Model обновлено
Правила happens-before
Вопрос
Сопоставьте действие в потоке A и действие в потоке B, перед которым оно гарантированно видно.
Попробуйте сами
Нажмите слева, потом подходящее справа.
Показать ответ и разбор
Коротко
Это базовые правила JMM. Каждая пара создаёт ребро happens-before, и всё, что поток сделал до левого действия, видно после правого.
Правильные пары
Отпускание монитора MПоследующий захват того же монитора M
Запись в volatile-поле vПоследующее чтение поля v
Вызов
t.start()Первое действие в потоке tПоследнее действие потока tВозврат из
t.join()Разбор
Это базовые правила JMM. Каждая пара создаёт ребро happens-before, и всё, что поток сделал до левого действия, видно после правого. Действия без такого ребра могут быть видны в любом порядке или не видны вовсе.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.