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

Race condition

Вопрос

Что такое race condition?

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

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

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

Коротко

Ошибка, когда результат зависит от порядка выполнения потоков. Типичный пример: check-then-act (if (!map.containsKey(k)) map.put(k, v)) и read-modify-write (count++).

Ответ

Ошибка, когда результат зависит от порядка выполнения потоков. Типичный пример: check-then-act (if (!map.containsKey(k)) map.put(k, v)) и read-modify-write (count++). Лечится атомарными операциями, блокировками или отказом от общего изменяемого состояния.

Разбор

Ошибка, когда результат зависит от порядка выполнения потоков. Типичный пример: check-then-act (if (!map.containsKey(k)) map.put(k, v)) и read-modify-write (count++). Лечится атомарными операциями, блокировками или отказом от общего изменяемого состояния.

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

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

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