Скрипач, пророк (12.10.2010 23:37 - 23:43, просмотров: 147) ответил mazur на Можно попроще, словами? А то я тоже щас свои коды накидаю...
В двух словах Каруселька.
Задача, которой нужна задержка сохраняет
значение свободно-вращающегося таймера
и в каждом новом цикле вычисляет разницу
таймера и сохраненного значения.
Если меньше нужной задержки, то сразу
отдает управление, если больше (или равно)
делает свое дело.
Циклическая задача, после этого, сохраняет
новое значение "отсечки" и снова "ждет задержку".
Не циклическая - отруливает в новое состояние.
Предполагается что задержки в 10 раз больше
чем общее время выполнения всех задач в "карусельке"
в самом худшем случае (и что 10% ошибка
задержки не критична :)
... но не любой ценой.