Hi all, Is there any guarantee on the order in which the QFutureWatcher::finished signal will be emitted when multiple QFutureWatchers are hooked up to the same QFuture?
When the QFuture finishes, will finished be emitted by the QFutureWatchers in the order in which setFuture were called upon them? Or is there no guarantee? I'm thinking of a use case like (rough pseudo code): QFuture CachingReader::readAsync(...) { if (result is available in cache) { QFutureInterface interface; interface.reportFinished(result from cache); return QFuture(interface); } future = QtConcurrent::run(readStuff, ...); watcher = QFutureWatcher(); connect(watcher, finished, [this, future]() { // store future.result() in cache }); watcher.setFuture(future); return future; } In this case, I'd really like the QFutureWatcher set up internally by the function to be the one that fires first. It is guaranteed to be the first one that calls QFutureWatcher::setFuture(..) with that QFuture as parameter, but I'm not sure if that's any guarantee here? Thanks in advance, Elvis _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest