栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java面试手册V2.0+突击V3.0知识点整理(十四) 附封面图片

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java面试手册V2.0+突击V3.0知识点整理(十四) 附封面图片


1. Thread类中的start()和run()方法有什么区别?
  1. start()方法来启动线程,真正实现了多线程运行。这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码;通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行。然后通过此Thread类调用方法run()来完成其运行操作的,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程中止。然后CPU再调度其他线程。
  2. run()方法当作普通方法的方式调用。程序还是要顺序执行,要等待run方法体执行完毕后,才可继续执行下面的代码;程序中只有主线程这一个线程,其程序执行路径还是只有一条,这样就没有达到写线程的目的

2. 线程NEW状态
  • new创建一个Thread对象时,并没处于执行状态,因为没有调用start方法启动该线程,那么此时的状态就是新建状态

3. 线程RUNNABLE状态
  • 线程对象通过start方法进入runnable状态,启动的线程不一定会立即得到执行,线程的运行与否要看cpu的调度,我们把这个中间状态叫可执行状态(RUNNABLE)

4. 线程的RUNNING状态
  • 一旦cpu通过轮询或其他方式从任务中可以执行队列中选中了线程,此时它才能真正的执行自己的逻辑代码

5. 线程的BLOCKED
  • 线程正在等待获取锁
    • 进入BLOCKED状态,比如调用了sleep或者wait方法
    • 进行某个阻塞的io操作,比如因网络数据的读写进入BLOCKED状态
    • 获取某个锁资,从而加入到该锁的阻塞队列中而进入BLOCKED状态

6. 线程的TERMINATED状态
  • TERMINATED是一个线程的最终状态,在该状态下线程不会再切换到其它任何状态了,代表整个生命周期都结束了
  • 以下几种情况会进入TERMINATED状态:
    • 线程运行正常结束,结束生命周期
    • 线程运行出错意外结束
    • JVM Crash导致所有的线程都结束

7. 线程状态转化图


8. 如何知道代码段被哪个线程调用?
	System.out.println(Thread.currentThread().getName());

9. 线程活动状态?
	public class xkThread extends Thread{
		@Override
		public void run(){
			System.out.println("run run run is "+ this.isAlive());
		}
	
		public static void main(String[] args){
			xkThread xk = new xkThread();
			System.out.println("begin---"+xk.isAlive());
			xk.start();
			System.out.println("end---"+xk.isAlive());
		}
	}

10. sleep()方法
  • 方法sleep()的作用是在指定的毫秒数内让当前的“正在执行的线程”休眠(暂停执行)
  • jdk1.5之后,引入了一个枚举TimeUnit,对sleep()方法提供了很好的封装,如要表达2小时22分55秒899毫秒
	Thread.sleep(857899L);
	TimeUnit.HOURS.sleep(3);
	TimeUnit.MINUTES.sleep(22);
	TimeUnit.SECONDS.sleep(55);
	TimeUnit.MILLISECONDS.sleep(899);

上一篇:Java面试手册V2.0+突击V3.0知识点整理(十三) 附封面图片
下一篇:Java面试手册V2.0+突击V3.0知识点整理(十五) 附封面图片


如果觉得封面图片还行,请顺手点个赞

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/332486.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号