Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
void SleepTask(int i)
{
std::cout<<" * task"<<i<<" begin\n";
boost::this_thread::sleep(boost::posix_time::milliseconds(rand()%100 + 10));
std::cout<<" * task"<<i<<" end\n";
}
boost::tasks::static_pool< boost::tasks::unbounded_fifo > pool( boost::tasks::poolsize( 5) );
std::vector<boost::tasks::handle< void > > task_list;
for(int i = 0; i < 100; ++i)
{
task_list.push_back(boost::tasks::async(
boost::tasks::make_task( &SleepTask, i ),
pool));
}
std::cout<<" * all tasks scheduled\n";
boost::tasks::waitfor_all(task_list.begin(), task_list.end());
* This source code was highlighted with Source Code Highlighter.
rand()%100 + 10
Планирование задач в сервере при помощи boost.task