首页 > 试题广场 > 线程的sleep()方法和yield()方法有什么区别?
[问答题]
请简述一下线程的sleep()方法和yield()方法有什么区别?

2个回答

添加回答
 sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会
线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态
sleep()方法声明抛出InterruptedException,而yield()方法没有声明任何异常
发表于 2019-02-11 12:58:39 回复(0)
1.sleep()方法给其他线程机会不考虑线程的优先级别,而yield()方法只会给相同运行级别或更高运行级别的线程运行
2.线程执行sleep()方法就会进入阻塞状态,执行yield()方法会转入就绪状态
3.sleep()方法声明抛出InterruptException,而yield()没有声明任何异常
4.sleep()方法比yield方法具有更好的移植性
发表于 2019-03-03 22:28:20 回复(0)

扫一扫,把题目装进口袋

牛客网,程序员必备求职神器

扫描二维码,进入QQ群

扫描二维码,关注牛客网公众号