Можно ли назначить другой объект QFuture уже запущенному объекту 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);
'waitForFinished()' метод также ждет отмены (http://doc.qt.io/qt-4.8/qfuture.html#waitForFinished), поэтому я вызывал этот метод. Однако, как вы уже упоминали, мой 'QFuture' не может быть отменен в любом случае. – Rames