- 0
- 0
- 约5.82千字
- 约 8页
- 2026-11-14 发布于河北
- 举报
线程高频面试题及详细答案(实战口语版)
1、什么是线程?线程和进程的区别是什么?
详细答案:
线程是进程内的最小执行单元,是操作系统能够调度的最小单位,一个进程可以包含多个线程,这些线程共享进程的内存资源。
进程是资源分配的最小单位,线程是调度执行的最小单位,核心区别主要有四点:
1)资源占用不同:进程独立占用内存、CPU资源,彼此完全隔离;线程共享所在进程的堆内存、全局变量、文件句柄等资源,仅私有栈内存和程序计数器。
2)开销不同:创建、销毁进程的开销极大,需要重新分配系统资源;线程创建和销毁开销很小,效率更高。
3)通信方式不同:进程间通信复杂,需要管道、Socket、共享内存等专门机制;线程间直接读写共享变量即可通信,简单高效,但也会带来线程安全问题。
4)独立性不同:一个进程崩溃不会影响其他进程;一个线程异常崩溃,会直接导致整个进程挂掉,所有线程都终止。
口语总结:进程是独立的程序,线程是程序里的干活分支,多线程就是一个程序同时干多件事。
2、多线程的优缺点是什么?实际项目中什么场景用?
详细答案:
优点:
1)充分利用CPU多核资源,避免CPU空闲,提升程序整体执行效率;
2)阻塞场景下提升响应速度,比如接口等待数据库、网络请求时,其他线程可以继续处理任务,不会整体卡死;
3)资源开销小,相比多进程部署,多线程更节省系统内存和CPU资源。
缺点:
1)存在线程安全问题,
原创力文档

文档评论(0)