不幸的是,我无法访问更新版本的提升 - 仅为1.33。基本上,我想做以下事情:
void threadFunc() {
while (true) {
{
getALock();
doWork();
}
// sleep for x unless signaled to wake up or boolean changed to
// stop doing work.
if (toldToExit()) return;
}
}
主线程会启动线程,让它在无限的时间内工作,然后最终告诉停止工作并死掉。唯一的问题是我希望线程在主线程告诉它停止后立即唤醒。就像我说的那样,我只拥有boost 1.33中可用的功能。我怎样才能实现上述目标?如果可能的话,我宁愿避免使用pthreads。