我可以将另一个 QFuture 对象分配给已经运行的 QFuture 对象吗?如下例所示:
QFuture<int> future = QtConcurrent::run(function);
future = QtConcurrent::run(anotherFunciton); //assume that future is still running at this point
我意识到这个特定的例子没有多大意义,只是为了举例。假设第一个函数的结果不再让我感兴趣,那么进行这样的分配是否安全?还是我必须先取消?如果是这样,我是否必须等待取消完成?
QFuture<int> future = QtConcurrent::run(function);
future.cancel();
future.waitForFinished(); //is waiting necessary?
future = QtConcurrent::run(anotherFunciton);