休眠是与放弃yield相比是更有力的放弃方式, 放弃只是表示当前线程愿意暂停当前线程,让其他有相同优先级的等待线程有机会获得cpu资源。而进入休眠sleep不同,不管有没有其他线程在等待资源,都进入暂停,这样一来,不只是有相同优先级的线程可以获取到资源,低优先级的线程也可能获取到资源。但是进入休眠的线程仍然拥有它已经获取到的锁,因此,其他需要相同锁的线程会阻塞,即使cpu可用。所以要避免在同步方法或块内让线程休眠。
通过Thead.sleep(millsecodeTime)静态方法即可让当前线程进入休眠.休眠时,不一定休眠指定时间,因为唤醒时,资源正在被其他线程使用,可能过一段时间才能得到资源。