Цитата:
Сообщение от Gel
А как же тогда "все асинхронно"?
|
Да элементарно.
Истек заданный период опроса? Запрос будет выполнен "as soon as possible".
Дёрнули вход в FBD при нулевом цикле опроса? Запрос будет выполнен "as soon as possible".
Асинхронность проявляется в том, что перед запросом, для которого вы дернули вход, в очереди может стоять еще парочка, событие "as soon as possible" для которых наступило раньше. И одно из устройств (оп-ля) в этот момент сломалось и не отвечает. И тайм-аут неответа для него соизмерим тику контроллера (ну, скажем, 995 мс). И -гулять так гулять! - Джамшут с Равшаном крепили пакет для мусора и просверлили плату второго устройства, которое (какая неожиданность!) тоже не ответит на запрос (ну, пусть для него тайм-аут будет 1500 мс, для наглядности).
Итого выходит:
- Все работает идеально: ответ получен быстрее тика в 1000 мс (иллюзия синхронности).
- Бац, и один девайс сдох: ответ на рассматриваемый запрос чудом успел прийти до конца тика в 1000 мс. Или не успел (синхронность становится совсем иллюзорной).
- И тут пришел Джамшут...
Вопрос:
Можно ли считать синхронной систему, в которой ответ может прийти к следующему тику, может прийти но не обязательно, а может заведомо не прийти. Причем вероятность получения ответа в расчетное время - от программиста никак не зависит?