Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
mezmay |
13.3.2010, 14:14
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1
|
Наследую qthread. переопределяю метод run. В программе запускаю поток с помощью start. Как в том же месте программы подождать завершения этого потока?
|
|
|
|
|
DEADHUNT |
13.3.2010, 14:19
Сообщение
#2
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2
|
|
|
|
|
|
mezmay |
13.3.2010, 15:42
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1
|
но этот метод просто завершает run() а не ждет его завершения...
|
|
|
|
|
Litkevich Yuriy |
13.3.2010, 15:57
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(mezmay @ 13.3.2010, 18:42) Link но этот метод просто завершает run() где ты такое прочитал?
|
|
|
|
|
mezmay |
13.3.2010, 18:10
Сообщение
#5
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1
|
Тогда помогите разобраться... Программа для чтения данных с GPS-устройства по COM-порту. Метод run() в котором собственно это и делается:
Вызов метода: Проблема: если устройства нет, то цикл while в run() - длится 10 секунд. Однако если после вызова gps_thread->start() стоит вызов gps_thread->wait(), то сразу срабатывает брейкпоинт на последней строке run'a - строке emit canDelete();... - почему?? Если gps_thread->wait(); убрать, то цикл while работает 10 секунд как ему и положено... |
|
|
|
|
Litkevich Yuriy |
13.3.2010, 18:36
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
закоментируй строчку:
Цитата(mezmay @ 13.3.2010, 21:10) Link set = true; ради теста
|
|
|
|
|
mezmay |
13.3.2010, 22:21
Сообщение
#7
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1
|
хз...... дома запустил тоже самое (но с виртуальным портом) - работает...
|
|
|
|
|
mezmay |
13.3.2010, 23:16
Сообщение
#8
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1
|
Еще один вопрос - почему строки
вешают GUI поток? т.е. форма висит пока вэит не закончится, а если оставить только то нормально работает? так и должно быть?? Сообщение отредактировал mezmay - 13.3.2010, 23:17 |
|
|
|
|
Litkevich Yuriy |
14.3.2010, 2:49
Сообщение
#9
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(mezmay @ 14.3.2010, 2:16) Link так и должно быть?? да, тыж сидишь и ждёшь когда поток закончится, не обрабатываешь других событий
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 23.12.2025, 2:15 |