Доброго времени суток!
Скурил уже все мануалы, но так и не разобрался...
Есть такой простейший код:
MyThread.h#include <QThread>
class MyThread : public QThread
{
Q_OBJECT
public:
MyThread(int id):m_id(id){}
void run();
private:
int m_id;
};
MyThread.cpp#include <MyThread.h>
void MyThread::run()
{
qDebug("thread %d started\n",m_id);
for(int i=0;i<3;++i)
{
qDebug("%d) %d\n",m_id,i);
sleep(1);
}
qDebug("thread %d stoped\n",m_id);
}
main.cpp#include <QCoreApplication>
#include <MyThread.h>
int main(int argc, char* argv[])
{
QCoreApplication app(argc,argv);
MyThread t1(1);
MyThread t2(2);
t1.run();
t2.run();
t2.wait();
t1.wait();
return 0;
}
Файл проекта стандартный (qmake -project).
Вывод вот такой:
thread 1 started
1) 0
1) 1
1) 2
thread 1 stoped
thread 2 started
2) 0
2) 1
2) 2
thread 2 stoped
Т,е, потоков-то и нет... Что я делаю не так? Или я умудрился собрать Qt4 без потоков (что вроде бы невозможно) ?