zl程序教程

您现在的位置是:首页 >  后端

当前栏目

请简述一下线程的sleep()方法和yield()方法的区别?

方法线程 区别 一下 简述 yield sleep
2023-09-14 09:01:57 时间

请简述一下线程的sleep()方法和yield()方法的区别?

①sleep()方法给其他线程机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会。

yield()方法只会给相同优先级或更高优先级的线程以运行的机会。

②线程执行sleep()方法后转入阻塞状态,而执行yield()方法后转入就绪状态(自己让出CPU执行权后立马又加入到CPU执行权的抢夺中)。

③sleep()声明抛出InterruptedException异常,而yield()方法没有声明任何异常。

④sleep()方法比yield()方法具有更好的可移植性(跟操作系统CPU调度相关)。