我正在使用应用程序中当前来自第三方库的两个函数。第一个函数(也称为.SourceMeasure)基本上是从某些硬件收集数据,而第二个函数(即.ComputeErrors)纯粹是基于从第一个函数收集的数据进行计算。测算执行将循环执行5次。 我正在考虑创建一个多线程以将.ComputeErrors移动到工作线程以节省一些时间。 如果.SourceMeasure位于主线程中,而.ComputeErrors位于工作线程中,并且它们都来自同一库,会不会有问题?
//The execution is something like this..
for (int i=0; z < 5; z++)
{
Lib.SourceMeasure (data)
Lib.ComputeErorrs (data) //Want to put this in a separate thread
}
答案 0 :(得分:0)
我不知道您使用的是哪个库,但是几乎可以确定,在1 NAME : Ram | 2 AGE : 12|
仍在同一数据集上运行之前,您无法启动Lib.ComputeErorrs()
。
您可以做的是设置一个队列和两个线程:
“测量线程”:
Lib.SourceMeasure()
“计算线程”:
Lib.SourceMeasure()
结果是,测量和计算将并行进行(但不相同的项目,测量会提前一些)。您需要找到的只是一个线程安全队列。