У меня есть приложение на C #, которое подписывается на тему в нашей системе обмена сообщениями для обновления значений. Когда приходит новое значение, я делаю некоторую обработку и затем продолжаю. Проблема в том, что обновления могут поступать быстрее, чем приложение может их обработать. То, что я хочу сделать, это просто удерживать последнее значение, поэтому я не хочу очереди. Например, источник публикует значение «1», и мое приложение получает его; во время обработки источник публикует последовательность (2, 3, 4, 5) до того, как мое приложение завершит обработку; мое приложение обрабатывает значение "5", а предыдущие значения отбрасываются.
Трудно опубликовать пример рабочего кода, так как он основан на проприетарных библиотеках обмена сообщениями, но я думаю, что это общий шаблон, я просто не могу понять, как он называется ... Это похоже на функцию обработки должен выполняться в отдельном потоке, чем обратный вызов обмена сообщениями, но я не уверен, как это организовать, например как этот поток уведомляется об изменении значения. Какие-нибудь общие советы о том, что мне нужно делать?