【发布时间】:2012-07-31 23:38:57
【问题描述】:
我使用 Boost Threads 库在 C++ 中创建了许多线程,
我想超时所有这些线程,我可以在循环中使用timed_join(),但这会使总等待时间=线程数*超时时间。
for(int i = 0; i < number_of_threads; ++i)
{
threads[i]->timed_join(boost::posix_time::seconds(timeout_time));
}
所以,我正在考虑使用内置的 posix_time 类来计算每个线程的截止日期。这样,总等待时间最多是给定的超时时间。
最简单、最直接的方法是什么?
【问题讨论】: