Qt并行计算

比如QVector中所有元素+1,可以用并行计算。

QtConcurrent::map():将一个函数应用于一个容器中的每一项,就地修改 items。

void add(int &num)
{
    num +=1;
}

{
    QVector<int> vector;

    for(int i=0; i<3; i++)
       vector.append(i);

    qDebug() << "start: " << vector;

    QFuture<void> vFuture = QtConcurrent::map(vector, add);
    vFuture.waitForFinished();

    qDebug() << "map result: " << vector;
}

此处仅记录,更多详细内容参考Qt 并行运算高级API QtConcurrent - 一杯清酒邀明月 - 博客园 (cnblogs.com)

posted @ 2023-12-09 13:35  夕西行  阅读(194)  评论(0编辑  收藏  举报