ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 июля
13978 Топик полностью
Алексей Мусин (27.08.2004 13:56, просмотров: 1) ответил Max_QNX на пока семафор взведён - все потоки ждущие его
Ну уж прямо "вся система будет заторможена" "заторможены" (suspended) будут только те задачи, которым нужен ресурс. Про семафор и мутекс. Знаю, что в uCOS появился этот сервис (mutex), но мы делаем по-старинке: при освобождении ресурса задача вызывает OSSemPost, при ожидании захвата ресурса - OSSemPend. Ессно, есть таймаут (на всякий пожарный). Я не спорю, мой вариант более "жесткий" - темп событий-запросов к ресурсу не "сглаживается" очередью. Но давайте разберем, что же будет в случае, если есть задача, обслуживающая SPI. Некая другая задача положила в очередь мессидж для отправки в шину. Что эта задача делает дальше? "Что-нибудь полезное"? А когда она обратится к первой задаче за ответом? А если ответа нет? А может ей ответ уже и не нужен к тому времени, когда он пришел?