1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #include <QtGui>
#include <vector>
#include <cmath>
void scale(double & d)
{
qDebug() << "sqrt "<<d<<"dans le thread : "<<QThread::currentThread();
d= sqrt(d);
}
int main(int argc, char *argv[])
{
Q_UNUSED(argc);
Q_UNUSED(argv);
const int imageCount = 20;
std::vector<double> myVect;
for (int i = 0; i < imageCount; ++i)
myVect.push_back(i);
QFutureWatcher<void> futureWatcher;
futureWatcher.setFuture(QtConcurrent::map(myVect.begin(),myVect.end(), scale));
futureWatcher.waitForFinished();
QtConcurrent::blockingMap (myVect, scale);
return 0;
} |
Partager