DevPrep

Все темы › Многопоточность и асинхронное программирование

Мьютекс (mutex)

Middle PRO

Суть

Mutex (mutual exclusion) — замок, который в каждый момент времени держит ровно один поток. Остальные, попытавшиеся его захватить, блокируются до unlock(). Ключевое отличие от бинарного семафора: у мьютекса есть владелец — отпустить его может только захвативший поток, а ядро умеет временно поднимать приоритет владельца (priority inheritance), чтобы высокоприоритетный ждущий поток не застрял за низкоприоритетным. Поэтому «мьютекс — вид семафора» — неточность, которую интервьюер заметит.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store