对于大学我写了一个uart串口comport阅读器,它将包读入一个大小为N(300ish)的T类大型列表(带有数据和一些函数的类)。该列表是在json启动时创建的,然后是更新结果的新信息。第一个字节基本上是' channel / databaseentry'列表中应该处理此值的位置。
基本的readpackage函数如下所示:
void handlePackage(byte[] package)
{
// update results in database
WriteToDatabase(package[0], package 1 to end);
// Save to daq
SaveCh(package[0]);
}
我添加了一个数据采集工具,它基本上以任何形式记录任何包 DeltaTime(自上一次打包到此频道的时间)+已处理的值。
list<short>[x] dT {5000, 314, 50, 200 ... }
list<double[x] val {40, -5, 6.7 300 .. }
对于条目X的含义:在5000ms之后读取值40,然后在314ms之后它变为-5等。
所以我基本上有大约300 + 300个列表,它们有更新数据库的时间,我怎样才能将所有这些列表合并到一些异步函数中,这类似于uart comport reader的重放?
我认为300线程有点矫枉过正?