Случайное повышение - Random boosting

Случайное усиление это стратегия, используемая планировщик в Майкрософт Виндоус избежать тупик из-за инверсия приоритета. Готовые потоки, удерживающие блокировки, случайным образом получают приоритет и позволяют работать достаточно долго, чтобы выйти из критического раздела. Если поток не успевает снять блокировку, он получит еще один шанс.[1][2]

Рекомендации

  1. ^ Инверсия приоритета (Windows), Microsoft, получено 12 декабря, 2012, Планировщик решает эту проблему путем случайного повышения приоритета готовых потоков (в данном случае - держателей блокировок с низким приоритетом). Потоки с низким приоритетом работают достаточно долго, чтобы выйти из критической секции, а поток с высоким приоритетом может войти в критическую секцию. Если поток с низким приоритетом не получает достаточно процессорного времени для выхода из критического раздела в первый раз, он получит еще один шанс во время следующего раунда планирования.
  2. ^ Коэн, Аарон; Вудринг, Майк (1998), Многопоточное программирование Win32, O'Reilly & Associates, стр. 30, Windows NT решает проблему инверсии приоритета путем случайного повышения динамических приоритетов готовых к запуску потоков.