【请教】boost::thread线程如何在需要时再执行
大家好,初学boost,发现线程使用起来有点问题,如下边例子所示:
void fun()
{
while(true)
{
boost::this_thread::interruption_point();
do some...
}
}
void StartThread()
{
boost::thread thrd(&fun);
thrd.join(); 或 thrd.Detach();
}
上边的例子一旦实例化线程类,就马上执行了。
如果使用join,则主线程锁死,跟没用线程一样
如果使用Detach,则失去了对线程的控制
所以能不能让线程在需要时再执行,这样就可以将线程实例作为一个类的成员变量,想启动时启动,想join时join
想中断时中断。