首页 > 试题广场 >

线程的sleep()方法和yield()方法有什么区别?

[问答题]
请简述一下线程的sleep()方法和yield()方法有什么区别?
 sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会
线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态
sleep()方法声明抛出InterruptedException,而yield()方法没有声明任何异常
发表于 2019-02-11 12:58:39 回复(3)
 sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会 线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态 sleep()方法声明抛出InterruptedException,而yield()方法没有声明任何异常
发表于 2019-05-01 21:38:28 回复(0)
① sleep()方法给其他线程运行机会时不考虑线程的优先级 因此会给低优先级的线程以运行的机会 yield()方法只会给相同优先级或更高优先级的线程以运行的机会 ② 线程执行sleep()方法后转入阻塞(blocked)状态 执行yield()方法后转入就绪(ready)状态 ③ sleep()方法声明抛出InterruptedException yield()方法没有声明任何异常 ④ sleep()方法比yield()方法(跟操作系统CPU调度相关)具有更好的可移植性
发表于 2019-04-29 21:39:31 回复(0)
1.sleep()方法给其他线程机会不考虑线程的优先级别,而yield()方法只会给相同运行级别或更高运行级别的线程运行
2.线程执行sleep()方法就会进入阻塞状态,执行yield()方***转入就绪状态
3.sleep()方法声明抛出InterruptException,而yield()没有声明任何异常
4.sleep()方法比yield方法具有更好的移植性
发表于 2019-03-03 22:28:20 回复(2)