#include <QtCore/QCoreApplication>
#include <qdebug.h>
#include <qfuture.h>
#include <qfuturewatcher.h>
#include <qlist.h>
#include <QtConcurrent>
int multiply(int &value)
{
qInfo() << "Called: " << value;
int num = value * 10;
return num;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QList<int> list;
for (int i = 0; i < 100; i++) {
list.append(i);
}
QFutureWatcher<int> watcher;
QFuture<int> future = QtConcurrent::mapped(list, &multiply);
watcher.setFuture(future);
qInfo() << "Back in main!";
watcher.waitForFinished();
qInfo() << "done!";
qInfo() << list;
return a.exec();
}