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

  • 1
  • 0
  • 约5.66千字
  • 约 8页
  • 2026-09-20 发布于河北
  • 举报

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

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

一、基础概念类

1.进程和线程的区别?

参考答案:

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

1.资源占用:进程独立占有内存、CPU等系统资源,开销极大;线程共享所在进程的资源,创建和销毁开销极小。

2.独立性:进程之间完全隔离,一个进程崩溃不会影响其他进程;线程共享进程资源,单个线程异常崩溃,会导致整个进程终止。

3.通信方式:进程间通信复杂,需要管道、socket、共享内存等方式;线程间直接共享变量即可通信,简单高效。

4.执行单元:一个进程至少包含一个主线程,多线程就是在一个进程内并发执行多个任务。

2.并发和并行的区别?

参考答案:

并发:同一时间段内,多个任务交替执行,单核CPU也能实现,本质是“快速切换”,看起来同时运行。比如单线程CPU轮流执行多个线程任务。

并行:同一时刻,多个任务同时执行,必须依赖多核CPU,多个核心分别处理不同任务,是真正的同时运行。

简单总结:并发是交替执行,并行是同时执行。Java多线程大多是并发执行,多核环境下部分任务可以并行。

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

参考答案:

Java线程一共6种状态(JDK1.5+定义):

1.NEW(新建):线程对象创建完成,未调用start()方法,未启动。

2.RUNNABLE(可运行):包含就绪和运行两种状

文档评论(0)

1亿VIP精品文档

相关文档