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

 
 
> проблема захватить семафор более приоритетной ниткой, слабая нитка не уступает процессор более сильной
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
Ответов
razrab83
сообщение May 19 2017, 05:01
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 5-05-17
Пользователь №: 96 902



Цитата(AlexRayne @ May 18 2017, 14:02) *
она может отпустить и тутже захватить мутех снова, а более сильная так и остается в ожидании.
Почему так происходит? как побороть?

а при отпускании мьютекса вызывается планировщик? Если нет, то планировщик вызывается в системные тики, и при принудительном вызове (например в прерывании). Возможна ситуация, когда между 2 тиками слабая нитка отпускает мьютекс и тут же захватывает. Т.к. планировщик не вызывается, то переключение на приоритетную задачу не происходит.
Go to the top of the page
 
+Quote Post



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

 


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


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