Из моего понимания QtConcurrent::blockingMappedReduced
возвращает конечный результат, в то время как QtConcurrent::MappedReduced
возвращает QFuture
объект, но в этом примере http://doc.qt.io/qt-5/qtconcurrent-wordcount-main-cpp.html я видел такой код:QtConcurrent blockingMappedReduced v.s MappedReduced
WordCount total = QtConcurrent::mappedReduced(files, countWords, reduce);
QtConcurrent::mappedReduced
функция также возвращает конечные результаты. Я что-то упускаю? Если это неверно, каков правильный способ использования результатов, возвращаемых QtConcurrent::mappedReduced
? И при каких условиях я должен QtConcurrent::mappedReduced
вместо QtConcurrent::blockingMappedReduced
? Пожалуйста, порекомендуйте.
Я полагаю, что пример кода использует [неявное преобразование QFuture его базового типа] (http://doc.qt.io/qt-5/qfuture.html#operator-T) который был бы то же самое, что и для вызова 'WordCount total = QtConcurrent :: mappedReduced (файлы, countWords, сокращение) .result();' – Dmitry