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

  • 1
  • 0
  • 约6.31千字
  • 约 9页
  • 2026-09-25 发布于河北
  • 举报

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

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

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

1.什么是线程?线程和进程的区别是什么?

答案:

进程是操作系统资源分配的最小单位,是程序的一次独立运行过程,拥有独立的内存空间、堆、文件句柄等系统资源,进程之间相互隔离,通信成本极高。

线程是进程内的执行单元,是CPU调度的最小单位,一个进程至少包含一个主线程。线程共享所在进程的堆内存、全局变量、文件资源等,仅拥有独立的栈内存和程序计数器,创建和销毁成本极低。

核心区别总结:

资源隔离:进程完全隔离,线程共享进程资源

开销:进程创建、切换、销毁开销大;线程轻量、开销小

通信:进程间通信复杂(管道、socket等);线程可直接共享变量通信

稳定性:一个进程崩溃不影响其他进程;一个线程异常崩溃,会导致整个进程终止

2.为什么要使用多线程?多线程的优缺点

答案:

使用场景/优点:

提升CPU利用率:单线程会造成CPU空闲,多线程可以充分利用多核CPU资源,并行处理任务

提高程序响应速度:主线程处理交互,子线程处理耗时IO、计算任务,避免程序卡顿

任务拆分:可以将复杂、耗时的大任务拆分为多个子线程并行执行,缩短整体执行时间

资源复用:线程共享进程资源,相比多进程,系统资源占用更低

缺点:

线程安全问题:多线程同时操作共享变量,会出现数据错乱、覆盖等并发问题

增加开发复杂度:需要处理锁、线程通信、死锁、线程等待唤醒等问

文档评论(0)

1亿VIP精品文档

相关文档