Re[2]: Возможный косяк в boost::mutex
От: ioni Россия  
Дата: 14.04.11 10:07
Оценка:
Здравствуйте, fdn721, Вы писали:

I>>[/ccode]


I>>рассмотрим такую ситуацию

I>>Имеем три потока с приоритетами Low, Medium, High
I>>в начальном состоянии поток Low захватил mutex в точке 1 потому что он первый,
I>>далее начинает работать стартует поток Medium система передает ему управление так как он имеет более высокий приоритет
I>>потом начинает работать поток High и пытается захватить mutex, так как mutex уже захвачен доходит до точки 3 и ждет
I>>так как поток High ждет, управление передается потоку Medium и пока он не отработает не произойдет инверсии приоритета для
I>>потока Low и поток High не получит управления.
I>>Вот такая дыра обнаружилась

F>Что-то у вас какое-то мутное представление о приоритете потоков.


Вполне нормальное, кстати такое поведение успешно наблюдается на kernel диаграмме под wince
когда управление передается не высоко приоритетному потоку который ждет а какому то другому потоку
впрочем что вам кажется не так в моих рассуждениях?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.