crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QThreadPool, не очень понятно, как его использовать
_Antoshich
  опции профиля:
сообщение 23.6.2009, 14:54
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 23.6.2009
Из: Минск
Пользователь №: 845

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




Репутация:   0  


Хотели использовать QhreadPool для хранения потоков. Как создавать,помещать и запускать из него потоки вроде бы понятно. Но необходимо, чтобы отработанный поток каким-то образом сам удалялся (к примеру происходил delete thread). Документация на этот пул для Qt 4.5 что-то мне показалась скудненькой и не очень понятной. Может кто прояснит ситуацию, или где еще почитать можно скажет. или вообще примерчиком поделиться :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 23.6.2009, 15:14
Сообщение #2


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

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

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




Репутация:   34  


Я не использовал, но в доках говорится, что отработанный поток сам удаляется:

Цитата
QThreadPool deletes the QRunnable automatically by default. Use QRunnable::setAutoDelete() to change the auto-deletion flag.


И наверняка вариант типа:

run()
{
    forever()
    {
    ...
    }
}


Не тот случай, когда надо использовать этот класс.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
_Antoshich
  опции профиля:
сообщение 23.6.2009, 16:02
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 23.6.2009
Из: Минск
Пользователь №: 845

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




Репутация:   0  


Цитата(SABROG @ 23.6.2009, 15:14) *
1. Я не использовал, но в доках говорится, что отработанный поток сам удаляется:
2.
run()
{
    forever()
    {
    ...
    }
}


Ну да, понятно, что сам удаляется. Но тут еще написано, что
Цитата
Threads that are unused for a certain amount of time will expire. The default expiry timeout is 30000 milliseconds...

Но что это значит, что поток, который не используется, будет завершен? Т.е. когда отработает run (без forever как предыдущем примере) и выполнение выйдет из него, поток завершится и удалится, так получается?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 23.6.2009, 16:24
Сообщение #4


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

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

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




Репутация:   34  


Он походу удаляется из списка, но его можно использовать повторно, указатель вроде как не должен уничтожаться.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
_Antoshich
  опции профиля:
сообщение 24.6.2009, 10:26
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 23.6.2009
Из: Минск
Пользователь №: 845

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




Репутация:   0  


Цитата(SABROG @ 23.6.2009, 16:24) *
Он походу удаляется из списка, но его можно использовать повторно, указатель вроде как не должен уничтожаться.


Спасибо за помощь.
Просто в документации все так написано, что нет четкого представления. А попытки найти еще что-нибудь а нете или посмотреть примеры закончились ничем. Ну ничего не остается, как писать прогу и пробовать все на деле.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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