我有一个C#应用程序,订阅我们的消息系统上的主题以获取值更新。当新值到达时,我会进行一些处理,然后继续执行。问题是,更新可能比应用程序处理它们的速度更快。我想做的就是只保留最新的值,所以我不想要一个队列。例如,源发布值“1”,我的应用程序接收它;在处理过程中,源发布序列(2、3、4、5)在我的应用程序完成处理之前;我的应用程序随后处理值“5”,之前的值被丢弃。
由于这基于专有的消息库,因此很难发布工作代码示例,但我认为这是一种常见模式,我只是想不出它叫什么...似乎处理函数必须在与消息回调不同的线程上运行,但我不确定如何组织这个线程,例如如何通知该线程值已更改。您需要做什么的一般提示?
由于这基于专有的消息库,因此很难发布工作代码示例,但我认为这是一种常见模式,我只是想不出它叫什么...似乎处理函数必须在与消息回调不同的线程上运行,但我不确定如何组织这个线程,例如如何通知该线程值已更改。您需要做什么的一般提示?