Я создаю систему, которая принимает показания с аппаратного устройства, которое отправляет данные через последовательный порт. Каждый раз, когда «пакет» поступает с последовательного порта, я обновляю и перерисовываю некоторые компоненты графического интерфейса для отображения обновленной информации. Так как события последовательного порта происходят из отдельного потока, я должен вызвать Invoke (Invalidate) для нескольких компонентов, чтобы заставить их перерисовать, и это может потенциально привести к тому, что графический интерфейс пользователя отстанет от данных последовательного порта, так как графический интерфейс поставит в очередь кучу Invoke () запрашивает, начинает ли аппаратное устройство отправлять, скажем, 500 пакетов в секунду.
Есть ли способ выяснить, существует ли уже запрос Invoke (Invalidate) для компонента GUI, я могу помешать коду поставить в очередь кучу из них, или я должен полностью использовать другой подход для обновления моих компонентов GUI