我正在构建一个多线程应用程序pthreads
并且需要一个线程来定期检查一些东西。在此期间,该线程不应使用任何 CPU。这可能吗?usleep()
? Is usleep()
不忙等待吗?或者有更好的解决方案吗?
功能usleep
已从 SUSv4 中删除。你可能应该使用nanosleep
相反或定时器(setitimer
, etc).
正如 R.. 在评论中指出的那样,睡眠是否应该作为繁忙等待来实现:
- 线程将继续使用CPU
- 其他(较低优先级)线程将没有机会运行
Thus:
- 有些可能会使用信号(我认为 SUSv3 提到了 SIGALARM?)
- 有些人可能会使用奇特的计时器
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)