Инверсия приоритетов: что это
Коротко
Инверсия приоритетов: высокоприоритетная задача ждёт ресурс, захваченный низкоприоритетной, а ту вытесняют задачи среднего приоритета. GCD повышает QoS очереди, когда на неё делают sync или ставят блок с высоким QoS (QoS override).
Определение
Высокоприоритетная задача ждёт ресурс, захваченный низкоприоритетной, а ту вытесняют задачи среднего приоритета. GCD повышает QoS очереди, когда на неё делают sync или ставят блок с высоким QoS (QoS override).
Подробнее
Семафоры не знают, кто их освободит, и override не работает. Поэтому для взаимного исключения лучше os_unfair_lock, Mutex или serial-очередь.
Вопросы по теме с собеседований
Запомните, а не прочитайте
В тренажёре карточка вернётся, когда начнёт забываться. А билеты по Swift и iOS проверят, что термин понятен в деле.