如何在增强条件下唤醒睡眠线程

时间:2013-10-22 07:21:06

标签: c++ multithreading boost

不幸的是,我无法访问更新版本的提升 - 仅为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。

0 个答案:

没有答案
相关问题