Russian Qt Forum
Ноябрь 23, 2024, 03:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QEventThreadPool  (Прочитано 3535 раз)
vregess
Гость
« : Декабрь 17, 2011, 19:27 »

Хочу поделиться одной наработкой.
Библиотека QEventThreadPool - пул потоков.

Основные возможности:
  * Поддержка потоков с циклом событий (event loop), в отличии от QThreadPool - можно использовать сигналы и слоты в "воркерах".
  * 2 типа пулов:
     - пул с "эксклюзивными" потоками: к потоку можно присоединить только один объект;
     - пул с "общими" потоками - можно присоединить несколько объектов.
  * Вызов определенных слотов "воркера" (если они есть) при добавлении в пул:
     - init() - сразу после присоединении к потоку
     - run() - после init()
     - uninit() - перед отсоединением от потока.
  * Отложенное добавление в пул.

Основная цель библиотеки - создать пул потоков с поддержкой signal/slot в "воркерах".
Живет тут: https://github.com/skozlovf/QEventThreadPool
Там же можно скачать архив.

Нормальной документации пока нет, но есть набор тестов и пара примеров с комментариями на корявом английском.
Для сборки нужен cmake и Qt >= 4.7, тестировал на Win7 и линуксе (убунту).

Возможно я сделал что-то странное, но что-то похожего, к сожалению, не нашел.
Записан
BRE
Гость
« Ответ #1 : Декабрь 17, 2011, 19:41 »

но что-то похожего, к сожалению, не нашел.
После прочтения описания в голове появилась ассоциация с threadweaver.
Записан
vregess
Гость
« Ответ #2 : Декабрь 18, 2011, 15:27 »

После прочтения описания в голове появилась ассоциация с threadweaver.

Видимо речь о KDE ThreadWeaver (http://api.kde.org/4.0-api/kdelibs-apidocs/threadweaver/html/index.html) ?
Да, действительно что-то похожее.. Буду почитать доки, спасибо.

Как-то в голову не пришло посмотреть в сторону KDE, видимо потому что делал свою реализацию для винды.
Если их версия будет включать в себя функционал QEventThreadPool и ThreadWeaver можно отодрать от KDE, то похоже я зря писал библиотеку)
Записан
BRE
Гость
« Ответ #3 : Декабрь 18, 2011, 16:11 »

то похоже я зря писал библиотеку)
Вовсе не зря. ThreadWeaver не особо развивается, по крайней мере в те моменты, когда я на нее натыкался... Улыбающийся
Записан
vregess
Гость
« Ответ #4 : Декабрь 18, 2011, 22:05 »

Все еще изучаю ThreadWeaver. Немного разные идеологии.
Еще раз спасибо, BRE, что ткнул носом в ThreadWeaver, есть там интересные идеи навроде зависимостей задач.
От развития своей версии пока решил не отказываться.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.11 секунд. Запросов: 21.