Я создаю приложение, в котором можно отслеживать некоторые аппаратные средства MCU (показания датчиков и т. д.) в режиме реального времени. Для связи я использую CAN-шину.
По сути, у меня есть 2 потока на данный момент. Один из них является основным потоком, в котором работает графический интерфейс, а другой управляет/отслеживает связь между устройствами. Итак, очевидно, что мне нужно передать данные из потока связи в поток графического интерфейса. Однако каким должен быть правильный способ сделать это? Я знаю, как передать данные вызывающему потоку после завершения работы дочернего потока, но в этом случае поток связи работает все время.
Разумеется, коммуникационная логика представлена отдельным классом (CANManager).
У меня есть несколько собственных идей, однако я хотел бы знать, как "правильно" это сделать.
Заранее спасибо :)