我看到了一个关于为什么“投票不好”的问题。就最小化一个线程使用的处理器时间而言,最好是进行自旋等待(即轮询 while 循环中所需的更改)还是等待内核对象(例如 Windows 中的内核事件对象) ?
对于上下文,假设代码需要在任何类型的处理器、单核、超线程、多核等上运行。还假设轮询或等待的线程在轮询结果令人满意之前无法继续而不是等待。最后,线程开始等待(或轮询)和满足条件之间的时间可能会从很短的时间到很长的时间不等。
由于操作系统可能在“等待”的情况下更有效地“轮询”,我不想看到“等待只是意味着其他人进行轮询”的说法,这是旧消息,不一定 100% 准确.