面试题-Thread.sleep(0)的作用是什么

  就是线程等待的意思。由于Java采用抢占式的线程调度算法,因此可能会出现某条线程常常获取到CPU控制权的情况,为了让某些优先级比较低的线程也能获取到CPU控制权,可以使用Thread.sleep(0)手动触发一次操作系统分配时间片的操作,这也是平衡CPU控制权的一种操作。功能等价于Object类中的wait()方法,导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 唤醒方法,但是Thread.sleep(0)不需要被唤醒。

posted @ 2021-03-08 21:35  楼兰胡杨  阅读(723)  评论(0编辑  收藏  举报