我使用Boost Threads库在C++中创建了许多线程,我想超时所有这些线程,我可以timed_join()在循环中使用它,但这可以使总等待时间=线程数*时间 -时差.
for(int i = 0; i < number_of_threads; ++i)
{
threads[i]->timed_join(boost::posix_time::seconds(timeout_time));
}
Run Code Online (Sandbox Code Playgroud)
所以,我正在考虑使用内置的posix_time类来计算每个线程的截止日期.这样,总等待时间最多为给定的超时时间.
最简单,最直接的方法是什么?