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

  • 2
  • 0
  • 约5.79千字
  • 约 9页
  • 2026-10-22 发布于河北
  • 举报

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

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

一、多线程基础概念篇

1、什么是进程和线程?二者的核心区别是什么?

答案:

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

线程:是进程内的执行单元,是CPU调度的最小单位。一个进程可以包含多个线程,同一进程下的所有线程共享进程的堆内存、全局变量、文件资源,仅私有栈内存、程序计数器等少量资源。

核心区别:

资源归属:进程独立占有资源,线程共享进程资源;

隔离性:进程隔离性强,一个进程崩溃不影响其他进程,线程共享资源,单个线程异常可能导致整个进程崩溃;

切换成本:进程切换需要刷新内存页表、缓存,开销极大;线程切换仅需保存少量栈信息,开销极低;

通信方式:进程间通信复杂(管道、socket、共享内存),线程间直接读写共享变量即可通信。

2、为什么要用多线程?多线程的优缺点是什么?

答案:

使用场景/优势:

充分利用CPU多核资源:单线程只能占用单核CPU,多线程可并行执行,提升CPU利用率;

提升程序响应速度:避免单线程阻塞,比如IO、等待接口返回时,其他线程可正常工作,不会卡死主线程;

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

资源开销小:相比多进程,多线程启动、切换、销毁的资源成本更低。

缺点:

线程安全问题:多

文档评论(0)

1亿VIP精品文档

相关文档