[an error occurred while processing this directive]
|
==== Если одна задача имеет приоритет ниже другой - она просто-напросто должна не исполнять свой код в случае если более приоритетная находится в таких состояниях, в которых ей нужна толпа ресурсов.
А как она (задача с более низким приоритетом) об этом узнает, что в данный момент она должна не исполнять свой код? Ведь, как мне видится, так или иначе Вам все равно придется делать аналоги семафоров для этой цели.
В случае использования предложенного Вами механизма у каждой задачи свое максимальное время. Хорошо. Но теперь представьте себе, что помимо приведенной мной задачи есть еще одна, короткая, но у которой самый высокий приоритет, и которая должна прервать незамедлительно любую выполняемую задачу. Как она сможет прервать (быстро) эту задачу без семафора (особенно, если выполняется наш долгий реалтайм)?