线程中sleep()方法和yeild()方法的区别
来源:互联网 发布:淘宝店铺pc端首页多高 编辑:程序博客网 时间:2024/06/05 15:37
1.sleep()方法会给其他线程运行的机会,而不管其他线程的优先级,因此会给较低优先级的线程运行的机会;yeild()方法只会给优先
级相同的或者比自己高的线程运行的机会.
2.sleep()方法声明抛出InterruptionException异常,而yeild()方法没有声明抛出任何异常.
3.sleep()方法比yeild()方法具有更高的可移植性.
4.sleep()方法使线程进入阻塞状态,而yeild()方法使线程进入就绪状态.
5.sleep可以指定睡眠的时间,而yeild不行。也就是说yeild调用之后,很可能马上又会回到运行状态
当前运行的线程可以调用另一个线程的join()方法,当前运行的线程将转到阻塞状态,直到另一个线程运行结束,它才会恢复运行.
join()有两种形式:public void join()和public void join(long timeout)可以设置阻塞的时间.
使用setDaemon()方法可以将线程设置成后台线程,使用isDaemon()方法则可以判断线程是否是后台线程.
使用后台线程应该注意:
1. Java虚拟机只保证当前所有前台线程结束时,所有后台线程也会结束,而不保证后台线程一定是在前台线程结束后结束.
2.只有在线程启动前(即调用start()方法前),才能把它设置成后台线程.如果线程启动后,再调用这个线程的setDaemon()方法,则会抛
出异常.
3.由前台线程创建的线程在默认情况下仍然的前台线程,由后台线程创建的线程仍然是后台线程.
原文地址:http://blog.csdn.net/llwszjj/article/details/45826945
- 线程中sleep()方法和yeild()方法的区别
- 线程中sleep()方法和yeild()方法的区别
- Sleep 和yeild 区别
- java线程中wait和sleep方法的区别
- 线程的sleep()方法和yield()方法的区别
- 线程的sleep()方法和yield()方法有什么区别?
- 线程的sleep()方法和yield()方法有什么区别?
- 线程中sleep()方法和Object类中的wait()方法的区别
- Thread 类的重要的方法--sleep、yeild、join
- 线程中sleep()方法和yield()方法
- java线程中sleep与wait方法的区别
- 线程方法sleep()在Synchronous中与外面的区别
- 线程方法join()和sleep()区别
- JAVA线程sleep和wait方法区别
- Daemon线程 及sleep和yield方法的区别
- sleep()和wait()线程控制方法的区别
- Java中sleep方法和wait方法的区别
- java 中sleep()方法和wait()方法的区别
- turtlebot实现在多个目标点之间自主导航
- springmvc 注解 简单解释
- iOS 清除缓存
- 2016 驾照考试 科目一 要点
- linux多线程线程调度策略
- 线程中sleep()方法和yeild()方法的区别
- HTML5.1 里的新东西
- Jni基础开发入门(四)
- 循环链表
- 伯凡时间-1612
- WebRTC VideoEngine综合应用示例(二)——集成OPENH264编解码器
- Kruskal算法
- 下载链接后的MD5是什么意思?
- iOS 随机图片验证码