天天看點

QT6 QTask使用

參考:

https://doc-snapshots.qt.io/qt6-dev/qtconcurrenttask.html

https://doc-snapshots.qt.io/qt6-dev/concurrent-changes-qt6.html

https://doc-snapshots.qt.io/qt6-dev/qtconcurrent-index.html

QtConcurrent::QTaskBuilder task1 = QtConcurrent::task([]{ qDebug("0 Hello, world!"); });
    auto future1 = task1.spawn();
    future1.waitForFinished();
    //auto result = future.result(); // result == 42

    // 函數有輸入參數
    QtConcurrent::QTaskBuilder task2 =
            QtConcurrent::task([](const QString &s){ qDebug() << ("1 Hello, " + s); });

    auto future2 = task2.withArguments("world!").spawn();
    future2.waitForFinished();
           
Qt6