crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Как понять что программа работает в двух потоках?
RazrFalcon
  опции профиля:
сообщение 4.10.2010, 14:31
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Есть простой пример из хелпа
.срр
#include <QtCore/QCoreApplication>
#include <QString>
#include "thread.h"
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    MyThread th, th2;
    th.start();
    th2.start();
    return a.exec();
}

void MyThread::run()
{
     for( int count = 0, x=0; count < 20000000; count++, x++ )
{
         qDebug()<<x;
     }
}
.h
#ifndef THREAD_H
#define THREAD_H

#include <qthread.h>
#include <QThread>

class MyThread : public QThread
{
     Q_OBJECT

protected:
     void run();
};



#endif // THREAD_H
.pro
QT       += core thread

QT       -= gui

TARGET = temp
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

HEADERS += \
    thread.h

а вот вывод такой:
...
406010
406011
406012
406013
406014
406015
...
а по идее должен быть типа
...
406010
406010
406011
406011
406012
406012
...
PS: как присвоить приоритет
th.start(Priority priority = HighestPriority);
Так не хочет (из хелпа)
th2.setPriority(QThread::HighestPriority);
вот так ^_^

После применения приоритетов
713245
726544
713246
726545
713247
726546
выходит один спешит? не пойму совсем
"к слову скрин загрузки"


PSS: можно ли выбрать ядро для выполнения функции?

Сообщение отредактировал RazrFalcon - 4.10.2010, 15:01
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 18.10.2010, 20:23
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


RazrFalcon, пипец...

конечно же, если в цикле вызывать start, будет много потоков. И для них 100 ядер не надо, чтобы это определить )))

Параметры передай через члены классов MyThread и MyThread2
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- RazrFalcon   Как понять что программа работает в двух потоках?   4.10.2010, 14:31
- - Алексей1153   Цитата(RazrFalcon @ 4.10.2010, 17:31) а п...   4.10.2010, 18:31
|- - RazrFalcon   Цитата(Алексей1153 @ 4.10.2010, 18:31) эт...   4.10.2010, 19:02
- - Алексей1153   в среднем где-то на 75% загружен процессор у тебя...   4.10.2010, 19:32
|- - RazrFalcon   Цитата(Алексей1153 @ 4.10.2010, 19:32) а ...   4.10.2010, 20:06
- - Алексей1153   Цитата(RazrFalcon @ 4.10.2010, 23:06) Поч...   4.10.2010, 20:11
|- - RazrFalcon   Цитата(Алексей1153 @ 4.10.2010, 20:11) ну...   4.10.2010, 20:14
- - Алексей1153   Цитата(RazrFalcon @ 4.10.2010, 23:14) Неп...   4.10.2010, 20:43
|- - RazrFalcon   Ну в общем понятно. Ну я так понимаю желательно ко...   4.10.2010, 21:05
- - ufna   думаю средствами Qt этого не сделать, нужно копать...   5.10.2010, 9:19
- - RazrFalcon   Еще парочку моментов. 1) Когда я создаю 2-а потока...   5.10.2010, 18:21
|- - Sokoloff   Цитата(RazrFalcon @ 5.10.2010, 19:21) Еще...   5.10.2010, 20:02
|- - RazrFalcon   Цитата(Sokoloff @ 5.10.2010, 20:02) А что...   5.10.2010, 22:34
|- - Sokoloff   Цитата(RazrFalcon @ 5.10.2010, 23:34) Цит...   5.10.2010, 23:26
- - CodeHunter   Цитата(RazrFalcon @ 5.10.2010, 18:21) Она...   5.10.2010, 18:49
- - Iron Bug   по первому посту: если юзаешь вывод куда-то - это ...   6.10.2010, 10:53
- - RazrFalcon   И снова непонятно что cpp#include <QtCore/QCor...   11.10.2010, 21:01
- - Алексей1153   RazrFalcon, ОС раздаёт всем потокам всех процессов...   12.10.2010, 6:18
|- - RazrFalcon   Цитата(Алексей1153 @ 12.10.2010, 6:18) Мн...   12.10.2010, 14:38
- - Iron Bug   Цитата(RazrFalcon @ 12.10.2010, 0:01) В в...   12.10.2010, 6:49
- - Алексей1153   гы, а я и не обратил внимания ))   12.10.2010, 7:03
- - Iron Bug   Цитата(RazrFalcon @ 12.10.2010, 17:38) Гл...   12.10.2010, 15:11
- - RazrFalcon   Так все и выясняется. Ну в общем ясно. Буду пробов...   12.10.2010, 15:29
- - Алексей1153   Цитата(RazrFalcon @ 12.10.2010, 18:29) My...   12.10.2010, 18:56
|- - RazrFalcon   Цитата(Алексей1153 @ 12.10.2010, 18:56) н...   12.10.2010, 19:20
- - Алексей1153   RazrFalcon, когда return 0 выкидывает из функции m...   12.10.2010, 20:31
|- - RazrFalcon   Алексей1153 без return 0 вообще не стартует, то ес...   12.10.2010, 22:25
- - Iron Bug   читать и читать, как создаются и работают потоки и...   13.10.2010, 6:53
|- - RazrFalcon   Что за ерунда, прога работает только если функция ...   14.10.2010, 20:19
- - igor_bogomolov   RazrFalcon, ты бы документацию читал, там все подр...   14.10.2010, 20:38
|- - RazrFalcon   Цитата(igor_bogomolov @ 14.10.2010, 20:38...   14.10.2010, 20:48
- - RazrFalcon   Опять в один поток идет все!Раскрывающийся тек...   18.10.2010, 19:28
- - Алексей1153   Цитата(RazrFalcon @ 18.10.2010, 22:28) Оп...   18.10.2010, 20:07
- - RazrFalcon   В том то и проблема. Если использовать start - то ...   18.10.2010, 20:14
- - Алексей1153   RazrFalcon, пипец... конечно же, если в цикле выз...   18.10.2010, 20:23
|- - RazrFalcon   Цитата(Алексей1153 @ 18.10.2010, 20:23) П...   18.10.2010, 20:28
- - Алексей1153   вот смотри, наглядно то, что ты сделал - с одним п...   18.10.2010, 20:39
- - RazrFalcon   Логика работы потоков мне ясна, я не понимаю тока ...   18.10.2010, 20:47
- - Алексей1153   Цитата(RazrFalcon @ 18.10.2010, 23:47) Ло...   18.10.2010, 21:01
- - RazrFalcon   Мне нужна многопоточность, только для ускорения ра...   18.10.2010, 22:11
- - Алексей1153   RazrFalcon, если хочешь выжать из процессора мак...   19.10.2010, 6:43
- - RazrFalcon   Ладно, буду пробовать. А то что, больше потоков, б...   19.10.2010, 8:49
- - Алексей1153   Цитата(RazrFalcon @ 19.10.2010, 11:49) Ла...   19.10.2010, 8:56
|- - RazrFalcon   Цитата(Алексей1153 @ 19.10.2010, 8:56) Чт...   19.10.2010, 10:53
- - Iron Bug   Цитата(Алексей1153 @ 19.10.2010, 0:01) я ...   19.10.2010, 9:28
- - Алексей1153   RazrFalcon, поток - это понятие ОС (и даже - проце...   19.10.2010, 11:33
- - Iron Bug   Цитата(RazrFalcon @ 19.10.2010, 13:53) У ...   19.10.2010, 13:03
- - RazrFalcon   Разобрался с потоками в общем. Но теперь другая пр...   4.11.2010, 18:41
- - Iron Bug   а зачем ты в цикле создаёшь и убиваешь стопицот по...   4.11.2010, 18:57
- - RazrFalcon   Создаю каждый раз поток, так как, если через дебаг...   4.11.2010, 19:16
- - Iron Bug   у меня такое ощущение, что ты совершенно не понима...   4.11.2010, 19:26
- - RazrFalcon   Сейчас нарисую Я и не отрицаю свои ошибки. Я да...   4.11.2010, 19:31
|- - PAFOS   Вклинюсь в дискуссию) В свое время много-много уб...   30.12.2010, 15:52
- - RazrFalcon   Большое спасибо. Очень понятный код. Буду разбират...   11.1.2011, 22:57
|- - PAFOS   Цитата(RazrFalcon @ 11.1.2011, 22:57) Бол...   12.1.2011, 18:38
- - RazrFalcon   Что мои шаги в многопоточности оооочень медленные....   24.1.2011, 23:22
- - igor_bogomolov   Цитата(RazrFalcon @ 24.1.2011, 23:22) Ком...   24.1.2011, 23:33
- - RazrFalcon   ЭЭ... Возможно. Но мне бы пример...   24.1.2011, 23:58
- - Iron Bug   Цитата(RazrFalcon @ 25.1.2011, 1:22) Може...   25.1.2011, 9:17
- - RazrFalcon   Мне 19 лет И я совершенно точно нигде не работа...   25.1.2011, 19:21
- - igor_bogomolov   RazrFalcon, и мы сейчас отказываемся помогать не и...   25.1.2011, 19:40
- - PAFOS   ЦитатаФактически, сейчас у меня проблема только в ...   26.1.2011, 9:42
|- - RazrFalcon   Цитата(PAFOS @ 26.1.2011, 8:42) Если убит...   26.1.2011, 20:49
- - igor_bogomolov   Цитата(RazrFalcon @ 26.1.2011, 20:49) Я е...   26.1.2011, 21:29
- - Алексей1153   Цитата(RazrFalcon @ 25.1.2011, 21:21) как...   27.1.2011, 20:45


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


13 чел. читают эту тему (гостей: 13, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 14.1.2025, 21:25