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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Потоки в простом консольном приложении  (Прочитано 2564 раз)
Hirurg
Гость
« : Апрель 28, 2018, 11:14 »

Здравствуйте! Мне нужно написать простое приложение, которое запускает несколько параллельных потоков. Написал простой код, но он не работает параллельно, все потоки запускаются по очереди. Подскажите, пожалуйста, что я делаю не так?

mythread.h:
Код:
#ifndef MYTHREAD_H
#define MYTHREAD_H

#include <QThread>
#include <QDebug>
#include <QTime>

class MyThread : public QThread
{
public:
    MyThread(int n);
    ~MyThread();

    void run();

private:
    int m_ID;

    QTime  m_time;
    QString m_outString;

    void showState(QString state);
};

#endif // MYTHREAD_H

mythread.cpp:
Код:
#include "mythread.h"

MyThread::MyThread(int n)
{
    m_ID = n;
    showState("created");
}

MyThread::~MyThread()
{
    showState("deleted");
}

void MyThread::run()
{
    showState("started");
    sleep(3);
    showState("finished");
}

void MyThread::showState(QString state)
{
    m_outString = m_time.currentTime().toString("hh:mm:ss.zzz");
    m_outString.append(QString(" Thread %1: %2").arg(m_ID).arg(state));
    qDebug() << m_outString;
}

main.cpp:
Код:
#include <QCoreApplication>
#include "mythread.h"

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

    const int threadCount = 15;

    for (int i = 0; i < threadCount; i ++)
    {
        MyThread *myThread = NULL;
        myThread = new MyThread (i);
        myThread->run();
    }

    return a.exec();
}
Записан
qate
Супер
******
Offline Offline

Сообщений: 1175


Просмотр профиля
« Ответ #1 : Апрель 28, 2018, 13:02 »

myThread->start();
Записан
Hirurg
Гость
« Ответ #2 : Апрель 28, 2018, 13:07 »

myThread->start();
Точно! Спасибо вам большое! Всё-таки рабочая суббота - это зло  Смеющийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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