Помогите, как правильно отделить зерна от плевел.
Есть у нас устройство, которое гонит по uart довольно большое число измерений (~100 различных переменных).
Сейчас у нас есть приложение, которое удовлетворительно их выводит в нужном нам виде, но интерфейс и прием данных работают в одном потоке, и когда исчезает поток входных данных, весь интерфейс "виснет".
Какова правильная архитектура такого типа приложений? Выносить в отдельный поток прием данных, в отдельный обработку и в отдельный интерфейс?
Владимир Коротенко, именно с кодированием уверен, что не будет проблем :) скорее, тут более обобщенный вопрос был. Пока я склоняюсь именно к шарпу, т.к. нравится мне механизм событий.
То, что может быть независимо - должно быть изначально независимо.
Если обработка нужна ВСЕГДА при поступлении данных - два потока: приём данных + обработка и интерфейс отображения.
Если данные поступают быстрее, чем обработка, или нужно их хранение в "сыром" виде для дальнейшей обработки - три потока: приём данных, обработка данных и интерфейс отображения.