C#事件轮询和多个任务

时间:2016-02-04 23:27:39

标签: c# events queue task blockingcollection

让我简单解释一下我的问题。我想用c#从传感器读取数据 解。为了做到这一点,我使用了一个事件,它以非常快的速度从传感器中提取数据。然后将数据保存到sql中的数据库中。

为了实现这一目标并最大限度地提高性能,我在任务A中注册了该事件,该事件现在经常轮询来自我的传感器的数据,让我们说每秒1000个样本给你一个想法。

数据保存在带队列的阻塞集合对象中。

我现在要做的是创建第二个任务,将我的数据保存到sql数据库,但前提是我的阻塞收集队列中有超过5000个样本。我如何实现这一目标?

我尝试在第一个任务中运行第二个任务,但遇到了一些问题。

A)有时第二项任务不会在我的事件中开始 B)我得到一个例外,第二个任务仍然是runnig(因为事件触发得如此之快,我猜不到)

有没有好办法呢?

祝你好运

0 个答案:

没有答案