- 1
- 0
- 约4.84千字
- 约 8页
- 2026-10-13 发布于河北
- 举报
Linux多线程高频面试题及详细答案(实战面试版)
一、基础概念类
1、什么是线程?线程和进程的区别是什么?
答案:
线程是进程内的最小执行单元,是操作系统调度的基本单位,一个进程可以包含多个线程,所有线程共享进程的地址空间和系统资源。
线程和进程核心区别:
1)资源占用:进程是资源分配的最小单位,每个进程有独立的虚拟地址空间、文件描述符、堆栈资源;线程共享进程资源,仅拥有独立的栈、寄存器、线程私有数据,资源开销极小。
2)调度开销:进程切换需要刷新页表、缓存、系统上下文,开销大;线程切换仅需切换少量寄存器和栈信息,开销极低。
3)通信方式:进程间通信复杂,需要管道、消息队列、共享内存、socket等机制;线程直接读写全局变量、堆内存即可通信,无需额外IPC机制。
4)独立性:进程完全独立,一个进程崩溃不影响其他进程;线程共享进程资源,单个线程异常崩溃会导致整个进程退出。
5)创建销毁:进程fork成本高,线程pthread创建销毁速度远快于进程。
2、多线程的优缺点分别是什么?
答案:
优点:
1)资源利用率高,线程切换开销小,适合高并发场景;
2)通信简单,共享内存数据,无需复杂IPC;
3)能充分利用多核CPU,并行执行任务,提升程序运行效率;
4)创建、销毁成本低,适合高频短任务处理。
缺点:
1)线程安全问题,多线程并发读写共享资源会出现数据错乱;
2)一个线程崩溃导致
您可能关注的文档
- jQuery 笔试真题(含详细答案).docx
- jQuery测试题及详细答案.docx
- jQuery高频面试题及详细答案(实战版).docx
- jQuery前端高频面试题及详细答案(实战完整版).docx
- jQuery与AJAX基础知识试题(含详细答案).docx
- JS 对象高频面试题(附详细真实面试风答案).docx
- JS 高频算法面试题(含详细真实面试版答案).docx
- JS 视频面试高频题及详细答案(实战口语版).docx
- JSON 常见面试题及详细答案(实战接地气版).docx
- JSP 高频面试题及详细答案(实战版).docx
- AIAG CQI-8 中文版 焊装系统评估持续质量改进指南.docx
- AIAG FMEA_4 版 中文版 失效模式及影响分析标准 完整原文.docx
- AIAG APQP_2024 中文版 先期产品质量策划与控制计划指南.docx
- AIAG MSA 第 4 版 中文版 测量系统分析标准完整文档.docx
- IATF 16949 认证规则第 6 版 中文版 IATF 认可获取与维持规则.docx
- AIAG SPC 第 3 版 中文版 统计过程控制标准原文.docx
- 2025 安宁疗护专科护士培训大纲(最新版).docx
- 2025 儿科专科护士培训大纲(最新版).docx
- 2025 骨科专科护士培训大纲(最新版).docx
- 2025 呼吸专科护士培训大纲(最新版).docx
原创力文档

文档评论(0)