Подтвердить что ты не робот

Создание пула потоков с использованием boost

Можно ли создать пул потоков с помощью boost-потока? я смотрел на все более мощные libs, и я не мог найти диспетчера пулов потоков (или что-то в этом роде)... Есть ли способ сделать это?

TNX!

4b9b3361

Ответ 1

В boost есть неофициальный (пока) threadpool. Но это не проблема, чтобы реализовать ее самостоятельно, особенно если большая рождаемость не является основной целью. Идея: ваш threadpool может быть параметризован типом TaskType и количеством рабочих. TP должна быть предоставлена ​​функция обработчика, которая принимает TaskType. TP содержит очередь добавленных задач. Реальная функция потока просто берет задачу из очереди и вызывает переданный обработчик. Что-то вроде этого.

Ответ 2

Я знаю, что ответ был принят, если вам это нужно прямо сейчас, и вы не можете беспокоиться о создании собственного пула потоков, вы можете попробовать использовать boost asio io_service с подсказкой concurrency (т.е. сколько потоков он должен работать), а затем post() материал для этого io_service... просто идея..