如何在Qt中解决以下问题是一个好的方法:
我有一个传感器类,它持续产生数据。针对这些数据需要执行一系列操作,这可能需要相当长的时间。为此,我拥有一些额外的类。基本上,每次记录新的数据项时,第一个类应获取数据,处理数据,将其传递给下一个类,以此类推。
传感器 --> 类1 --> ... --> 最后一个类
我希望将管道的各个单独类放入各自的线程中,这样当第2个类处理第n个样本时,类1可以已经处理第n+1个样本...
此外,由于各个步骤的性能可能差异很大(例如传感器比其他部分快得多),而且我不关心过时的数据,因此我希望类1(以及之后的所有内容)始终从其前置项获取最新的数据,舍弃旧数据。因此,在管道的各个步骤之间没有大型缓冲区。
起初,我考虑使用Qt::QueuedConnections进行信号/槽操作,但我认为这会引入一个队列,其中包含等待较慢的管道部分处理过时样本的内容?
我有一个传感器类,它持续产生数据。针对这些数据需要执行一系列操作,这可能需要相当长的时间。为此,我拥有一些额外的类。基本上,每次记录新的数据项时,第一个类应获取数据,处理数据,将其传递给下一个类,以此类推。
传感器 --> 类1 --> ... --> 最后一个类
我希望将管道的各个单独类放入各自的线程中,这样当第2个类处理第n个样本时,类1可以已经处理第n+1个样本...
此外,由于各个步骤的性能可能差异很大(例如传感器比其他部分快得多),而且我不关心过时的数据,因此我希望类1(以及之后的所有内容)始终从其前置项获取最新的数据,舍弃旧数据。因此,在管道的各个步骤之间没有大型缓冲区。
起初,我考虑使用Qt::QueuedConnections进行信号/槽操作,但我认为这会引入一个队列,其中包含等待较慢的管道部分处理过时样本的内容?