реклама на сайте
подробности

 
 
> проблема захватить семафор более приоритетной ниткой, слабая нитка не уступает процессор более сильной
AlexRayne
сообщение May 18 2017, 13:02
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 27-09-07
Пользователь №: 30 877



Использую freeRTOS8.2.1
есть мутех за который борются две нитки с разным приоритетом.
слабая нитка стартует и делает много захватов и отпускания мутеха.
пока она работает, в более сильную нитку приходит событие, и она пытается захватить мутех.
но такое ощущение что слабая нитка както не очень хочет уступить более сильной процессор - она может отпустить и тутже захватить мутех снова, а более сильная так и остается в ожидании.
Почему так происходит? как побороть?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ruslan1
сообщение May 18 2017, 14:57
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



из документации (Андрей Курниц, КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 8 '2011, "Проблемы при использовании мьютексов"):
Цитата
Для уменьшения (но не полного исключения) негативного влияния инверсии приоритетов во FreeRTOS реализован механизм наследования приоритетов (Priority Inheritance). Его работа заключается во временном увеличении приоритета низкоприоритетной задачи-владельца мьютекса до уровня приоритета высокоприоритетной задачи, которая в данный момент пытается захватить мьютекс. Когда низкоприоритетная задача освобождает мьютекс, ее приоритет уменьшается до значения, которое было до повышения. Говорят, что низкоприоритетная задача наследует приоритет высокоприоритетной задачи.

Оно?


(P.S. Привет Форуму! давно даже почитать не заходил не то что пописать....)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 20:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016