QThead. Как? |
Здравствуйте, гость ( Вход | Регистрация )
QThead. Как? |
smartchecker |
14.11.2011, 17:06
Сообщение
#1
|
Студент Группа: Участник Сообщений: 83 Регистрация: 7.9.2011 Пользователь №: 2853 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Алексей1153 |
15.11.2011, 6:47
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
мне кажется, тут надо начать издалека.
1) Для каждой задачи создавать список пройденных условных узлов, к ним же приписывать время прохождения. Этот список передаётся между потоками вместе с задачей. 2) в конце все списки нужно объединить в один граф, использую имена условных узлов, к рёбрам прикрепить время выполнения 3) нарисовать граф |
|
|
smartchecker |
15.11.2011, 13:32
Сообщение
#3
|
Студент Группа: Участник Сообщений: 83 Регистрация: 7.9.2011 Пользователь №: 2853 Спасибо сказали: 0 раз(а) Репутация: 0 |
Мне бы хоть пример какой-нибудь.
|
|
|
smartchecker |
22.11.2011, 13:01
Сообщение
#4
|
Студент Группа: Участник Сообщений: 83 Регистрация: 7.9.2011 Пользователь №: 2853 Спасибо сказали: 0 раз(а) Репутация: 0 |
мне кажется, тут надо начать издалека. 1) Для каждой задачи создавать список пройденных условных узлов, к ним же приписывать время прохождения. Этот список передаётся между потоками вместе с задачей. 2) в конце все списки нужно объединить в один граф, использую имена условных узлов, к рёбрам прикрепить время выполнения 3) нарисовать граф Тут приоритеты и время прохождения сущности весьма условные. Важно только то, что какие-то потоки запускают другие. На картинке поток D запускает потоки E,F,G. Последний из завершившихся потоков запускает поток H. |
|
|
PAFOS |
22.11.2011, 15:29
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Если это не критично, то лучше сделать один поток, который будет контролить запуск, завершение и обмен данными между потоками. |
|
|
smartchecker |
22.11.2011, 15:35
Сообщение
#6
|
Студент Группа: Участник Сообщений: 83 Регистрация: 7.9.2011 Пользователь №: 2853 Спасибо сказали: 0 раз(а) Репутация: 0 |
Если это не критично, то лучше сделать один поток, который будет контролить запуск, завершение и обмен данными между потоками. У меня в голове всё равно не складывается как пнуть один поток, при условии что он должен дождаться завершения двух-трёх других. |
|
|
PAFOS |
22.11.2011, 16:19
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Сообщение отредактировал PAFOS - 22.11.2011, 16:42 |
|
|
smartchecker |
22.11.2011, 16:50
Сообщение
#8
|
Студент Группа: Участник Сообщений: 83 Регистрация: 7.9.2011 Пользователь №: 2853 Спасибо сказали: 0 раз(а) Репутация: 0 |
m_result - какого типа?
|
|
|
PAFOS |
22.11.2011, 16:58
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Цитата m_result - какого типа? твоего - определи класс, где будешь хранить результаты работы потоков, эт я как пример привел) |
|
|
Текстовая версия | Сейчас: 2.12.2024, 6:21 |