Qt 线程池

//Qt线程池是一种用于管理线程的工具,可以在多线程应用程序中提高性能和效率。
//以下是Qt线程池的常用方法和一个简单的例子:

//常用方法:

//1. "QThreadPool::globalInstance()":获取全局线程池实例。

//2. "QThreadPool::setMaxThreadCount(int)":设置线程池中线程的最大数量。

//3. "QThreadPool::start(QRunnable*)":将一个任务添加到线程池中执行。

//4. "QThreadPool::waitForDone()":等待线程池中所有任务执行完毕。

//例子:

//cpp
#include
#include
#include
#include

class MyTask : public QRunnable
{
public:
    MyTask(int id) : m_id(id) {}

    void run() override
    {
        qDebug() << "Task" << m_id << "is running in thread" << QThread::currentThreadId();
    }

private:
    int m_id;
};

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

    QThreadPool::globalInstance()->setMaxThreadCount(4);

    for (int i = 0; i < 10; ++i)
    {
        MyTask *task = new MyTask(i);
        QThreadPool::globalInstance()->start(task);
    }

    QThreadPool::globalInstance()->waitForDone();

    return a.exec();
}
//

//这个例子创建了一个"MyTask"类,继承自"QRunnable",并实现了"run()"方法。
//在"main()"函数中,设置了线程池的最大线程数为4,然后创建了10个"MyTask"对象,
//并将它们添加到线程池中执行。
//最后,调用"waitForDone()"方法等待所有任务执行完毕。

你可能感兴趣的:(c++语言,QT,qt,c++)