ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Суббота
19 сентября
/896917
Топик полностью
fk0 (17.01.2019 12:57, просмотров: 30) в ответ на У нас строгий подход к построению программы. Весь код разбивается на задачи, в которых не допускается никаких долгих циклов. То есть: вход-обработка-выход. Каждая задача - одна отдельная функция. Все они крутятся в бесконечном цикле. Похоже на - автор: FDA
У такого подхода, без какого-то планировщика (читай без перехода к событийно-ориентированному программированию) большая проблема: как понять, когда какую задачу-автомат запускать? Если запускать все последовательно и они будут последовательно проверять все входные события, то эти проверки съедают очень много времени и цикл становится очень растянутым, очень медленная реакция на события (особенно если учесть, что одно входное событие может породить десятки внутренних и фактически будет обработано после обработки их всех -- это десятки-сотни циклов биг лупа). Привязано к таймеру? Это в англоязычной литературе называется time triggered архитектура и годится только для узкого класса задач. Бывает нужно обработать так быстро как можно, в целом time triggered не быстрей биг лупа. Иногда немного быстрей из-за отсутствия лишних проверок.
[ZX]
Ответить
Ответы