- 2
- 0
- 约5.79千字
- 约 9页
- 2026-10-22 发布于河北
- 举报
多线程高频面试题及详细答案(实战向)
一、多线程基础概念篇
1、什么是进程和线程?二者的核心区别是什么?
答案:
进程:是操作系统资源分配的最小单位,是程序的一次独立运行过程。每个进程都有独立的内存空间、堆、文件句柄等系统资源,进程之间相互隔离,切换成本极高。
线程:是进程内的执行单元,是CPU调度的最小单位。一个进程可以包含多个线程,同一进程下的所有线程共享进程的堆内存、全局变量、文件资源,仅私有栈内存、程序计数器等少量资源。
核心区别:
资源归属:进程独立占有资源,线程共享进程资源;
隔离性:进程隔离性强,一个进程崩溃不影响其他进程,线程共享资源,单个线程异常可能导致整个进程崩溃;
切换成本:进程切换需要刷新内存页表、缓存,开销极大;线程切换仅需保存少量栈信息,开销极低;
通信方式:进程间通信复杂(管道、socket、共享内存),线程间直接读写共享变量即可通信。
2、为什么要用多线程?多线程的优缺点是什么?
答案:
使用场景/优势:
充分利用CPU多核资源:单线程只能占用单核CPU,多线程可并行执行,提升CPU利用率;
提升程序响应速度:避免单线程阻塞,比如IO、等待接口返回时,其他线程可正常工作,不会卡死主线程;
任务拆分:可将复杂耗时任务拆分多个子线程并行执行,缩短整体任务执行时间;
资源开销小:相比多进程,多线程启动、切换、销毁的资源成本更低。
缺点:
线程安全问题:多
原创力文档

文档评论(0)