Я работаю над пулом потоков Boost.
У меня есть такая структура:
class SimThreadPool
{
static SimThreadPool* getInstance();
boost::threadpool::prio_pool& getThreadPool() { return mThreadPool; }
simTerrain::SimThreadPool::SimThreadPool()
: mThreadPool(boost::threadpool::fifo_pool(1))
{
}
boost::threadpool::prio_pool mThreadPool;
}
Когда мне нужна нить, я называю это так:
SimThreadPool::getInstance()->getThreadPool().schedule(MyThread());
и это работает.
Вопрос: как я могу преобразовать этот пул потоков из fifo в приоритет?
Я изменил все свои fifo\_pool
на prio\_pool
, но я не мог справиться с этим - это не сработало. Я получил несколько ошибок.
Как я могу использовать prio_pool
в этой ситуации?
Я думаю, что должен использовать prio_task_func
вместо класса, но я хочу повторно использовать мои существующие алгоритмы для этой цели.