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

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

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

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

一、基础概念类面试题

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

参考答案:

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

线程是进程内的执行单元,是CPU调度的最小单位,一个进程至少包含一个主线程。线程共享所在进程的堆内存、全局变量、文件资源等,仅私有栈内存、程序计数器、局部变量,线程间通信和切换成本远低于进程。

核心区别总结:

资源隔离:进程独立资源,线程共享进程资源

切换成本:进程上下文切换开销大,线程切换开销极小

通信方式:进程靠管道、socket、共享内存通信;线程直接读写共享变量即可

生命周期:进程崩溃不影响其他进程,一个线程异常崩溃,整个进程直接退出

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

参考答案:

优点:

充分利用CPU多核资源,避免单线程CPU空闲,大幅提升程序并发处理能力

阻塞场景优化,IO阻塞、网络等待时,其他线程可正常工作,不会卡死整体服务

任务拆分灵活,可将复杂耗时任务拆分多线程并行执行,缩短整体响应时间

线程资源开销小,相比多进程部署,多线程服务占用内存、CPU资源更少

缺点:

线程安全问题,多线程并发读写共享资源会出现数据错乱、脏数据

增加程序复杂度,需要处理锁、等待、唤醒、死锁等问题,调试难度高

存在线程上下文切换消耗,线程

文档评论(0)

1亿VIP精品文档

相关文档