Синхронные и асинхронные обновления в приложениях реального времени. - PullRequest
1 голос
/ 04 марта 2011

Я хочу обновить приложение, в котором у меня есть возможность обновлять синхронно или асинхронно.Что касается характера приложения в реальном времени, которое в настоящее время варьируется от синхронного выполнения методов в диапазоне частот от 1 до 60 Гц, видите ли вы какие-либо преимущества в асинхронном обновлении благодаря пользовательскому вводу?Или я должен подождать до следующего синхронного цикла, чтобы включить изменение?

Мои мысли пока:

В настоящее время я вижу преимущество асинхронного обновления в том, что если член в 1 Гцметод обновлен, метод 60 Гц может выполняться более 50 раз со старым значением.Я знаю, что для пользователя это все еще относительно короткий промежуток времени (<1 секунда), но мне кажется, что принцип продолжения вычислений с плохими значениями для 50+ повторений кажется плохим.</p>

Текущее преимущество, которое я вижу в том, чтобы поддерживать его синхронность, заключается в простоте чтения для потока выполнения кода.

Есть ли какие-либо последствия, о которых я не думаю?

1 Ответ

1 голос
/ 08 марта 2011

Сложно сказать без особого смысла вашего приложения.В целом, я бы сказал, что для приложений реального времени лучше по возможности оставаться синхронными, просто потому, что это упрощает рассуждения о своевременности (часто это труднее всего рассуждать). Если вы можете разумно сделать что-то периодическим, сделайтеэто периодическое и спасибо вашим счастливым звездам.

Переход к частично синхронной или асинхронной модели имеет некоторые преимущества.Как вы говорите, продолжать работать с устаревшими данными может показаться неэстетичным.Но учтите: это приложение в реальном времени.Предположительно, у вас есть требование, в котором указано, какой должна быть задержка обновления для ввода данных для вашей задачи 60 Гц.Как и в любой настройке производительности вычислений общего назначения, не переходите к дополнительной работе, чтобы выполнять ее лучше, если это не просто;это понятнее в реализации;или это становится необходимым для достижения правильности.

Итак, все, что сказано, не имеет жестких и быстрых правил.Убедитесь, что ваше обоснование записано и отражено в вашем дизайне.

...