(五十三)sleep()与yield()方法区别

一、让其他线程运行,是否考虑优先级

sleep()方法不会考虑优先级,因此会给低优先级的线程机会

yield()会给同级或更高级的线程以运行的机会

二、进入的状态不同

sleep()后会进入阻塞状态,执行sleep()方法的线程在指定时间内肯定不会被执行

yield():方法只是使当前线程重新回到可执行状态,所以可以马上就被执行

三、声明是否抛异常

sleep():声明会抛InterruptedException

yield():没有声明任何异常

 

 

 

(五十三)sleep()与yield()方法区别