- 1
- 0
- 约5.18千字
- 约 8页
- 2026-10-13 发布于河北
- 举报
Java多线程高频面试题及详细答案(实战版)
一、多线程基础篇(初级必问)
1.什么是线程?线程和进程的区别是什么?
答案:
进程是操作系统资源分配的最小单位,独立占用内存、CPU等系统资源,进程之间完全隔离,开销极大。
线程是进程内的执行单元,是CPU调度的最小单位,一个进程包含多个线程,线程共享进程的堆内存、方法区资源,仅拥有独立的栈内存、程序计数器、本地变量表。
核心区别:
资源开销:进程开销大,线程开销极小
隔离性:进程相互独立,线程共享进程资源、相互干扰
通信方式:进程通信复杂(管道、socket),线程可直接共享变量通信
稳定性:一个进程崩溃不影响其他进程;一个线程异常崩溃,整个进程直接退出
2.Java中创建线程有几种方式?区别是什么?
答案:日常开发+面试核心分为4种,不区分老旧无关写法:
继承Thread类:重写run()方法,直接调用start()启动。缺点是单继承限制,无法继承其他类,适合简单场景。
实现Runnable接口:重写run()方法,传入Thread对象启动。无继承限制,可多线程共享任务,是最常用的基础写法。
实现Callable接口:重写call()方法,支持返回值、抛出异常,需要配合FutureTask使用。适合需要获取线程执行结果的场景。
线程池创建线程:通过Executors、ThreadPoolExecutor创建,统一管理线程,避
您可能关注的文档
- Java安全高频面试题及详细答案(实战版)_1.docx
- Java包装类高频面试题及详细答案.docx
- Java必背面试题及详细答案(实战完整版)_1.docx
- Java变量与常量基础试题(含详细答案解析).docx
- Java并发编程测试题及详细答案.docx
- Java并发编程高频笔试题及详细答案解析.docx
- Java常见笔试面试题目深度剖析及详细答案.docx
- Java常见算法面试题及详细答案(实战面试版).docx
- Java初级7K岗位面试题及详细答案(实战干货版).docx
- Java初级开发工程师面试题及详细答案(真实职场版).docx
- 人工智能(2.2.2)--知识表示方法II.ppt
- 诊断学(2.2.10)--学生授课比赛课件:临床诊断思维.ppt
- 诊断学(4.2.6)--红细胞计数及血红蛋白测定(5年制理论课).ppt
- 诊断学(1.5.2)--黄疸、消化道出血(8年制理论课).ppt
- 诊断学(1.11.6)--胸痛查因(小组讨论2).ppt
- 诊断学(2.2.6)--病历书写、临床诊断思维(5年制理论课).ppt
- 人工智能(2.1.4)--知识表示方法1.ppt
- 诊断学(1.7.13)--学生授课比赛课件:肺隔离症.ppt
- 诊断学(3.7.8)--腹部检查(5年制理论课).ppt
- 诊断学(3.6.2)--血管检查及心脏病理征(8年制见习课).ppt
原创力文档

文档评论(0)