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