Russian Qt Forum
Ноябрь 24, 2024, 21:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [4.3.1, Linux] Треды  (Прочитано 3428 раз)
AlekSi
Гость
« : Сентябрь 15, 2007, 19:51 »

Доброго времени суток!

Скурил уже все мануалы, но так и не разобрался...

Есть такой простейший код:
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 без потоков (что вроде бы невозможно) ?
Записан
AlekSi
Гость
« Ответ #1 : Сентябрь 15, 2007, 20:57 »

В винде то же самое.
Нашёл почти такой же код в доках к Qt3. В 4-ой версии всё так сильно поменялось?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #2 : Сентябрь 15, 2007, 23:41 »

попробуй start вместо run
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
AlekSi
Гость
« Ответ #3 : Сентябрь 16, 2007, 00:03 »

я балбес Обеспокоенный
Racheengel, спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.169 секунд. Запросов: 23.