1. 停止线程
- run方法执行完成,自然终止
- stop()方法,suspend()以及resume()都是过期作废方法,使用它们结果不可预测
- 大多数停止一个线程的 *** 作使用Thread.interrupt()等于说是给线程打了一个停止的标记,此方法不会去终止一个正在运行的线程,需要加入一个判断才可以完成线程的停止
2. interrupted和isInterrupted
- interrupted:判断当前线程是否已经中断,会清除状态
- isInterrupted:判断线程是否已经中断,不会清除状态
3. yield
- 放弃当前cpu资源,将它让给其他的任务占用cpu执行时间。但放弃的时间不确定,有可能刚刚放弃,马上又获得cpu时间片
4. 线程的优先级
- 在 *** 作系统中,线程可以划分优先级,优先级较高的线程得到cpu资源比较多,也就是cpu有限执行优先级较高的线程对象中的任务,但是不能保证一定优先级高,就先执行
- Java的优先级分为1~10个等级,数字越大优先级越高,默认优先级大小为5。超出范围则抛出:java.lang.IllegalArgumentException
5. 优先级继承特性
- 线程的优先级具有继承性,比如a线程启动b线程,b线程和a优先级是一样的
6. 线程种类
- Java线程有两种,一种是用户线程,一种是守护线程
7. 守护线程的特点
- 守护线程是一个比较特殊的线程,主要被用作程序中后台调度以及支持性工作。当Java虚拟机中不存在非守护线程时,守护线程才会随着JVM一同结束工作
8. Java中典型的守护线程
- GC(垃圾回收器)
9. 如何设置守护线程?
- Thread.setDaemon(true)
- Daemon属性需要在启动线程之前设置,不能在启动后设置
10. Java虚拟机退出时Daemon线程中的finally块一定会执行?
- Java虚拟机退出时Daemon线程中的finally块并不一定会执行
上一篇:Java面试手册V2.0+突击V3.0知识点整理(十四) 附封面图片
下一篇:Java面试手册V2.0+突击V3.0知识点整理(十六) 附封面图片
如果觉得封面图片还行,请顺手点个赞
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)