Я работаю над пулом потоков Boost.Как преобразовать пул потоков увеличения из fifo в приоритет?
У меня есть структура вроде этого:
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
вместо класса, но я хочу повторно использовать существующие алгоритмы для этой цели.
Пожалуйста, сообщите об ошибке. – mikelong