WikiDer > Блокировать конвой
Эта статья нужны дополнительные цитаты для проверка. (Март 2016 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
В Информатика, а блокировать конвой это проблема производительности, которая может возникнуть при использовании замки за контроль параллелизма в многопоточный заявление.
Блокировка конвоя происходит, когда несколько потоки с равным приоритетом неоднократно борются за одну и ту же блокировку.[1] В отличие от тупик и лайвлок ситуации, потоки в конвои блокировок прогрессируют; однако каждый раз, когда поток пытается получить блокировку и терпит неудачу, он отказывается от оставшейся части своего кванта планирования и принудительно переключает контекст. Накладные расходы, связанные с повторяющимися переключениями контекста и недостаточным использованием квантов планирования, снижают общую производительность.
Конвои блокировок часто возникают, когда примитивы управления параллелизмом, такие как замки сериализовать доступ к часто используемому ресурсу, например куча памяти или пул потоков. Иногда их можно решить, используя неблокирующие альтернативы, такие как безблокирующие алгоритмы или изменяя относительные приоритеты конкурирующих потоков.
Смотрите также
Рекомендации
- ^ Зильбершатц, Абрахам (2013). Понятия операционной системы. John Wiley & Sons Inc. ISBN 1118129385.