C++/Go/Python
Game Developer

Инверсия приоритета. Интересная ошибка в синхронизацией потоков\процессов.

Есть два потока - с высоким приоритетом High и низким приоритетом Low. Им обоим нужен экслюзивный доступ к некому распределенному ресурсу. Если поток Low захватит ресурс раньше, чем поток High, то возникает ситуация называемая Priority Inversion - т.е. более приоритая задача ожидает менее приоритетную.

Это проблема не приводит к бескончным циклам и зависанием, но может привести к значительному снижению производительности и к ложным срабатываниям мониторинговых систем.