crossplatform.ru

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

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
> В каком контексте будет вызван слот, Работа с потоками
BRE
  опции профиля:
сообщение 11.6.2009, 20:44
Сообщение #21


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

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Я к самому классу QThread и его наследникам отношусь немного по другому.
Объект этого класса использую только для управления потоком, я не расширяю его функциональность.
Т.е. есть методы управления и проверки состояния потока (с ними работа идет из запустившего потока) и как-бы отдельно метод run, который и описывает сам поток. Вот в нем я создаю необходимые объекты связываю их сигналами с объектами в других потоками и т.д.
Управление идет через объект находящийся в контексте родительского (основного) потока, а что там в потоке делается это уже к run().

Блин, не знаю как получилось описать. :rolleyes:
С точки зрения архитектуры подхожу к объектам потоков по другому... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 11.6.2009, 20:46
Сообщение #22


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

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Цитата(BRE @ 11.6.2009, 21:44) *
С точки зрения архитектуры подхожу к объектам потоков по другому...


Получается, чтобы связать слот в потоке и сигнал из главного окна тебе приходится создавать дополнительный объект в run() к которому все и привязывать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.6.2009, 20:48
Сообщение #23


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

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

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




Репутация:   94  


Цитата(SABROG @ 11.6.2009, 21:56) *
Может поместить это решение в "Секреты и интересные возможности" ?
блин странно это всё.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 11.6.2009, 20:50
Сообщение #24


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

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(SABROG @ 11.6.2009, 21:46) *
Цитата(BRE @ 11.6.2009, 21:44) *
С точки зрения архитектуры подхожу к объектам потоков по другому...


Получается, чтобы связать слот в потоке и сигнал из главного окна тебе приходится создавать дополнительный объект в run() к которому все и привязывать?

Да, я не добавляю слоты в класс наследник от QThread (не расширяю его функциональность).
А как ты и написал делаю отдельный класс, который содержит сигналы/слоты и он выполняет всю работу, его создаю в run и настраиваю связи.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 11.6.2009, 20:51
Сообщение #25


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

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 11.6.2009, 21:48) *
Цитата(SABROG @ 11.6.2009, 21:56) *
Может поместить это решение в "Секреты и интересные возможности" ?
блин странно это всё.

Может кто с QtConcurrent работал, там может быть можно иначе сделать?

Сообщение отредактировал SABROG - 11.6.2009, 20:51
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.6.2009, 20:56
Сообщение #26


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

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

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




Репутация:   94  


Собственно почему странно, если так можно самого "потока" запнуть в самого себя, то почему он сам этого не делает.
Т.е. должно было бы быть так:
QThread th(...); // Уже завертелся новый поток, но пока безработный. А может и сразу работу выполняет.
и все функции, объявленные в нём, уже в другом потоке.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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