static void onRun()
{
boost::thread th(&onRun);
{
for(;;)
{
//do sth
}
}boost::thread th(&onRun);
th.timed_join(boost::posix_time::seconds(1));
这样主线程在onRun循环停留一秒钟就会返回,不会阻塞
本文介绍了一种使用Boost库中的线程实现定时退出的方法。通过创建一个无限循环的线程并利用timed_join方法,可以使主线程在指定时间后从子线程的循环中返回,避免了长时间的阻塞。
for(;;)
{
//do sth
}
}th.timed_join(boost::posix_time::seconds(1));
这样主线程在onRun循环停留一秒钟就会返回,不会阻塞
5138
3024
1393

被折叠的 条评论
为什么被折叠?
