Java多线程高频面试题及答案(真实面试版).docxVIP

  • 1
  • 0
  • 约4.09千字
  • 约 7页
  • 2026-08-24 发布于河北
  • 举报

Java多线程高频面试题及答案(真实面试版).docx

Java多线程高频面试题及答案(真实面试版)

一、基础概念篇(初级必问)

1.进程和线程的区别?

答案:

进程是操作系统资源分配的最小单位,线程是CPU调度的最小单位。

1.进程相互独立,有独立的内存空间,一个进程崩溃不影响其他进程;线程共享进程内存,一个线程出问题,整个进程可能挂掉。

2.进程创建、销毁开销大;线程开销很小,切换速度快。

3.进程是程序的一次运行过程,线程是进程内的执行分支,一个进程至少有一个主线程。

2.什么是多线程?优缺点是什么?

答案:

多线程就是在一个程序里同时开启多个执行路径,并发处理任务。

优点:充分利用CPU资源,提升程序吞吐量,异步处理任务,提高响应速度(比如接口快速返回、后台异步日志)。

缺点:线程越多内存占用越高,线程切换会消耗CPU;会出现线程安全、死锁、数据不一致问题;代码调试难度变大。

3.Java线程的生命周期有哪些状态?

答案:

总共6种状态(JDK1.5+):

1.NEW:新建线程,还没调用start()

2.RUNNABLE:可运行状态,包含正在执行和等待CPU资源两种情况

3.BLOCKED:阻塞,等待获取synchronized锁

6.TERMINATED:线程执行完毕,终止

4.start()和run()的区别?

答案:

1.start()是开启新线程,由JVM调用run()方法,线程进入就绪状态,

最近下载

文档评论(0)

1亿VIP精品文档

相关文档