В информатике , замок колонна является проблемой производительности , которая может возникнуть при использовании замков для управления параллелизмом в многопоточном приложении.
Конвой блокировок происходит, когда несколько потоков с равным приоритетом постоянно борются за одну и ту же блокировку. [1] [2] В отличие от ситуаций взаимоблокировки и живой блокировки , потоки в конвои блокировок выполняются; однако каждый раз, когда поток пытается получить блокировку и терпит неудачу, он отказывается от оставшейся части своего кванта планирования и вызывает переключение контекста. Накладные расходы на повторяющиеся переключения контекста и недоиспользование квантов планирования ухудшают общую производительность.
Конвои блокировок часто возникают, когда примитивы управления параллелизмом, такие как блокировки, сериализуют доступ к часто используемому ресурсу, например к куче памяти или пулу потоков . Иногда их можно решить, используя неблокирующие альтернативы, такие как алгоритмы без блокировки, или изменяя относительные приоритеты конкурирующих потоков.
Смотрите также
Рекомендации
- ^ Silberschatz, Abraham (2013). Понятия операционной системы . ISBN компании John Wiley & Sons Inc. 1118129385.
- ^ Блазген, Майк; Грей, Джим; Митома, Майк; Блазген, Майк; Митома, Лайк (1979). «Феномен конвоя» . Обзор операционных систем .