QT线程池 QRunnable QThreadPool使用 多线程使用

QRunnable类在Qt中是所有可运行对象的基类,代表了由run()函数表示的一个任务或一段要执行的代码。我们一般使用该类和QThreadPool来在另一个独立的线程中执行该代码。并且,如果QRunnable对象的autoDelete()设为true的话,QThreadPool会在run()运行结束后自动删除该对象。

下边是一个例子,我们会有多个任务放到线程池中执行。

任务类:

class Task : public QRunnable
{
public:
    Task();
    void run();
};

任务添加到线程池中:
    Task* task = new Task();
    task->setAutoDelete(true);
    QThreadPool::globalInstance()->start(task);

 

你可能感兴趣的:(QT实战项目应用)