crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Ожидание событий
zss
  опции профиля:
сообщение 28.4.2010, 9:55
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

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




Репутация:   0  


У меня есть объект, который запускает поток и делает некие действия.
По результатам действия он вызывает метод объекта, который подписался на него.

Мне необходимо в главном потоке запустить этот объект и дождаться завершения его работы. Но если я буду это делать, то GUI поток повиснет.
Можно ли как в GUI потоке ожидать события не вешая его ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.4.2010, 11:05
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9648
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(zss @ 28.4.2010, 13:55) *
Можно ли как в GUI потоке ожидать события не вешая его ?
можно, запусти поток, присоедини его сигнал finished() к своему слоту и выйди из текущей функции.
Когда поток просигналит о завершении, вызовется твой слот
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 28.4.2010, 14:53
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

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




Репутация:   0  


опять потоки, сигналы... :) просто этого уже так много...
Ну ладно. Пусть будет так.

Раз потоки, тогда еще вопрос. Потоку может быть послан сигнал terminate.
Можно ли как в потоковой функции определить, что ее хотят прибить и завершить свои черные дела.
Просто есть подозрение, что terminate тупо грохнет поток. А нужно откатиться тогда к предыдущему состоянию

Или как это тогда можно сделать в потоковой функции.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 20.10.2018, 13:19