sleep() 和 yield()方法的区别

1 sleep方法暂停当前线程后 会给其他线程执行机会 不用考虑其他线程的优先级 但是yield()方法只能让优先级》=自己的线程使用

2 sleep方法会将线程转入阻塞状态 直到经过阻塞时间才回转入就绪状态 而yield()不会将线程转入阻塞状态 而是强制的将它转入就绪状态 。因此可能出现暂停后立马有获得处理器资源被执行

3 sleep生命必须对InterruptedException进行处理 或者抛 或者try catch 而 yield 则没有这种问题

4 sleep() 比 yield()有更好的移植性 因为在不同的操作系统上 对线程的优先级设定上是不一样的 



注:线程的优先级是1~10 主线程是5 由主线程生成的线程的优先级默认也是5

Max_PRIORITY 10

Min_PRIORITY  1

Normal_PRIORITY 5


调用start()和run()方法的区别 

start()方法是开启自定义的线程

run()方法代表的是用的main方法执行的

利用Thread.currentThread().getName()看是谁执行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值