QFuture :: resultReadyAt(int index)索引中的索引是什么

时间:2017-02-16 18:32:12

标签: c++ qt

void QFutureWatcher::resultReadyAt(int index)

当观察的未来在索引处报告准备结果时,将发出此信号。如果将来报告多个结果,则索引将指示它是哪一个。结果可以无序报告。要获得结果,请致电future().result(index);

如果QFutureWatcher只能观看一个QFuture实例,并且实例只能返回一个结果,那么索引用于什么?我觉得我不明白正确使用这两者的方法。

我想排队多个返回任务结果的任务。如果我有一个任务列表,我想将任务结果与任务列表相关联。

1 个答案:

答案 0 :(得分:1)

首先,请注意QFuture不是您自己创建的原始(非复制)实例的类:实例由并发框架中的工厂方法提供。

  

如果QFutureWatcher只能观看一个QFuture实例,并且该实例只能返回一个结果

这是不正确的:未来会返回它所包含的异步操作所代表的许多结果,QFutureWatcher具有相关信号resultReadyAtresultsReadyAt,这些信号在发生时异步指示这些事件。

  

我想排队多个返回任务结果的任务。如果我有一个任务列表,我想将任务结果与任务列表相关联。

您正在寻找

QtConcurrent::mapQtConcurrent::mapped:它们提供具有多重结果的期货。