9.61. Thread.sleep(0) 的作用是什么?
这个问题和上面那个问题是相关的,我就连在一起了。由于 Java 采用抢占式的线程调度算法,因此可能会出现某条线程常常获取到 CPU 控制权的情况,为了让某些优先级比较低的线程也能获取到 CPU 控制权,可以使用 Thread.sleep(0) 手动触发一次操作系统分配时间片的操作,这也是平衡 CPU 控制权的一种操作。
Thread.sleep(0) 的作用是让当前线程暂停执行,以便让操作系统调度其他等待执行的线程。因为参数为 0,所以暂停时间非常短,甚至可以被忽略,而且不会把 CPU 时间片让给其他线程。这种情况下,一旦有其他可执行线程就立刻会重新执行当前线程。这种方法主要用于提高多线程程序的性能和吞吐量。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论