РТОС (РТКС ОС) Мутек_Семапхоре Проблем

L

LOSTISLAND

Guest
Здраво свима, ја сам мислио да су само разлике између једне мутек и семафор су цоунт (Семафор Цапабилити) и приоритет инверзија (мутек способности). Данас сам наишао нешто чудно што можда се односи на способност приоритета инверзије или нешто друго. Добијање и ослобађајући мутек семафора или између различитих задатака је јасно, али када сам их користити у само један задатак, њихово понашање је другачије. Користећи семафор задатак закључана али користећи мутек задатак није закључана. Замислите постоји само један задатак назвао АПП_ТестТаск [ЦОДЕ] __таск воид АПП_ТестТаск (воид) {фор (; ;) {ос_дли_ваит (20); ос_сем_ваит (Сем_Тест, 0кфффф) ос_сем_сенд (Сем_Тест) ос_сем_ваит (Сем_Тест, 0кфффф); ос_сем_ваит ( Сем_Тест, 0кфффф) Тест_Фунцтион ();}} [/ цоде] [цоде] воид _таск АПП_ТестТаск (воид) {фор (; ;) {ос_дли_ваит (20); ос_мут_ваит (Мут_Тест, 0кфффф) ос_мут_релеасе (Мут_Тест); ос_мут_ваит ( Мут_Тест, 0кфффф) ос_мут_ваит (Мут_Тест, 0кфффф) Тест_Фунцтион ();}} [/ цоде] Да ли је то нешто природно или буг? Хвала у напредним
 
Верујем да проблем са својственим дефиницијама једног семафора и мутек. Ако користите један задатак онда можемо претпоставити да је, поред система мировања задатак да ваш "АПП_ТестТаск" је највиши приоритет. Пошто мутек укључује приоритет инверзију, и само имају један задатак, мутек ће увек пасти на "АПП_ТестТаск". Семафор, међутим, изазива проблеме јер сте обоје покушавају да поклања и да се семафор из задатка, у суштини, ви сте изазивајући задатак тезгу. Никада нисам користио семафор кад имам само један задатак. Да ли постоји посебан разлог због чега радиш ово? Поздрав, Вилис
 

Welcome to EDABoard.com

Sponsor

Back
Top