Библиотека ThreadPool на C++

Я ищу хорошую и стабильную библиотеку потоков для С++, которая довольно хорошо документирована. Я знаю о собственном API пула потоков Windows и более новом API пула потоков Vista, однако моя программа требует некоторой обратной совместимости, поэтому, возможно, внешняя библиотека, которую я могу предоставить вместе с программой, лучше.

Я просмотрел пул потоков Boost, и он выглядит совсем неплохо, к сожалению, он не очень хорошо документирован.

Кто-нибудь знает какие-либо другие библиотеки, в которых есть ThreadPool на С++? (для Windows)


person Tony The Lion    schedule 04.10.2010    source источник


Ответы (6)


Переносимая библиотека threadpool, заявленная как "готовая к использованию". Вы можете проверить это.

person Vijay Mathew    schedule 04.10.2010
comment
@Tony, на их сайте есть краткое руководство, и код поставляется с несколькими примерами. - person Vijay Mathew; 04.10.2010

Intel TBB — еще одна библиотека потоков, в которой есть кое-что интересное. Я нахожу структуру для параллельного вычисления дерева выражений особенно приятной.

person Macke    schedule 04.10.2010
comment
пожалуйста, подумайте об объединении ваших ответов. - person Vijay Mathew; 04.10.2010
comment
@ Виджай Правда? Я думал, что мы предпочитаем один пункт на ответ, чтобы получить содержательные обсуждения и легко увидеть, что было принято? - person Macke; 04.10.2010

Qt имеет библиотека многопоточности с некоторыми хорошими высокоуровневыми операциями, такими как map/reduce и т. д., а также низкоуровневыми средствами многопоточности и поддержкой пула потоков.

Хотя Qt может быть для вас немного большим, но вы можете довольно легко использовать его часть.

person Macke    schedule 04.10.2010

Взгляните на ThreadPool и TaskManager из Библиотеки Poco C++.

person StackedCrooked    schedule 04.10.2010

Что касается пула потоков Boost: может быть полезна эта ссылка: http://think-async.com/Asio/Recipes

person Ralf    schedule 05.10.2010

Существует также ACE, который выполняет объединение потоков по сети, так что более сложный. (но заслуживает упоминания здесь, ИМО)

person Macke    schedule 17.02.2011