Java里的sleep方法调用时会不会继续占用时间片

如果是在Linux系统的前提下,采用时间片轮转调度,调用Java里的sleep方法后线程会让出时间片给别人吗?还是会占着这个时间片什么也不做?

阅读 2.2k
1 个回答

会让出 CPU 的,所以才有了 Thread.sleep(0); 这种骚操作。让出后给谁并不一定,取决于 OS 怎么处理 CPU 竞争,对于抢占式而言有可能下个还是自己,对于时间片而言那就是给别人了。

另外这个方法是 OS 层的系统调用,并不是 Java 本身提供的,它只是包装了一层而已。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题