【发布时间】:2013-08-18 03:36:31
【问题描述】:
是否可以让boost::thread 在其工作完成后无限期休眠,然后从另一个boost::thread 唤醒它?
使用while(1)s 非常适合专用服务器,我希望线程以 100% 运行所有内核,但我正在编写一个在桌面上运行的 websocket++ 服务器,因此我只想要boost::thread s 在他们真正有工作要做的时候运行,这样我就可以在我的桌面上做其他工作而不会影响性能。
我见过其他例子,其中boost::threads 被设置为sleep() 并持续一段时间,但我宁愿不花时间试图找到最佳常数;此外,我需要 websocket++ 服务器在接收到要处理的数据时尽快响应。
如果可能的话,如何在多个线程尝试唤醒时做到这一点?
【问题讨论】:
标签: c++ linux boost concurrency thread-sleep