(Qt6 : 16-3) QConcurrent 사용해 보기

Posted by : at

Category : Qt


#include <QCoreApplication>
#include <QtConcurrent>
#include <QThread>
#include <QDebug>
#include <QFuture>

int test()
{
    QThread *thread = QThread::currentThread();

    qInfo() << "Starting" << thread;

    int value = 0;
    for(int i = 0; i < 10; i++)
    {
        qInfo() << i << "on" << thread;
        value = value + i;
    }
    qInfo() << "Finished" << thread;

    return value;
}


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QFuture<int> future1 = QtConcurrent::run(&test);
    QFuture<int> future2 = QtConcurrent::run(&test);
    QFuture<int> future3 = QtConcurrent::run(&test);

    qInfo() << "Value1" << future1.result();
    qInfo() << "Value2" << future2.result();
    qInfo() << "Value3" << future3.result();

    return a.exec();
}

About Taehyung Kim

안녕하세요? 8년차 현업 C++ 개발자 김태형이라고 합니다. 😁 C/C++을 사랑하며 다양한 사람과의 협업을 즐깁니다. ☕ 꾸준한 자기개발을 미덕이라 생각하며 노력중이며, 제가 얻은 지식을 홈페이지에 정리 중입니다. 좀 더 상세한 제 이력서 혹은 Private 프로젝트 접근 권한을 원하신다면 메일주세요. 😎

Star
Useful Links