Op 5-3-2013 8:41, Thiago Macieira schreef: > On terça-feira, 5 de março de 2013 08.38.17, André Somers wrote: >> I'd appreciate a reply on the point that when using a QFutureWatcher, >> you don't know if the future is already done or not at the moment you >> connect. > It's not done, by construction.
So, if I understand you correctly, the following is completely safe right? QFuture<void> future = QtConcurrent::run(someFunction, 42, "blah"); //... perhaps some code, but not returning to the event loop QFutureWatcher* watcher = new QFutureWatcher(this); watcher.setFuture(future); connect(watcher, SIGNAL(finished(), this, SLOT(resultOfSomeFunctionReady())); So, when _does_ the work start for the future then? Because all the documentation for QtConcurrent suggests that the work is started immediately if there is a free thread in the pool. And if the work can indeed start immediately, how is is guaranteed that at the moment you create your watcher your future is not done yet? André _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
