qt中从一个类中new了多个对象,作为线程对象时,该类的run函数的写法
时间: 2024-11-16 07:19:38 浏览: 18
在Qt中,如果你从一个类中创建了多个线程对象并打算让它们各自独立运行,通常你会在每个线程对象中重写`QObject::start()`或者`QThread::start()`方法,然后覆盖`run()`函数来执行具体的任务。`run()`函数是每个线程默认执行的地方,你需要在这里编写针对特定任务的代码。
例如:
```cpp
class Worker : public QThread {
public:
explicit Worker(QObject* parent = nullptr) : QThread(parent) {}
protected:
void run() override {
// 这里是你自定义的线程执行的任务
doWork();
}
private:
void doWork() {
// 你的工作代码...
}
};
```
创建线程实例后,只需调用`start()`启动线程:
```cpp
Worker thread1;
thread1.start(); // 线程1开始执行doWork()
Worker thread2;
thread2.start(); // 线程2也开始执行doWork()
```
阅读全文