- 0
- 0
- 约7.4千字
- 约 10页
- 2026-09-05 发布于河北
- 举报
并发编程高频面试题及详细答案(实战向)
一、并发基础核心面试题
1.说说并发与并行的区别?
参考答案:
并发和并行是完全不同的两个概念,核心差异在于任务执行方式和硬件依托:
并发是单核心CPU快速轮换执行多个任务,同一时间点只有一个任务在运行,通过CPU时间片切换,让多个任务看起来是同时执行的,属于“宏观同时、微观交替”。比如单核电脑同时运行浏览器和微信,本质是CPU不停切换两个程序的任务。
并行是多核心CPU同时执行多个任务,同一时间点多个任务真正意义上一起运行,需要多核硬件支撑。比如八核CPU同时开启八个线程执行计算任务,每个核心单独处理一个任务。
简单总结:并发是交替执行,解决任务多、资源少的问题;并行是同时执行,提升整体任务处理速度。
2.什么是线程和进程?二者的区别是什么?
参考答案:
进程:操作系统资源分配的最小单位,是程序的一次独立运行过程。每个进程都有独立的内存空间、堆、文件句柄等系统资源,进程之间相互隔离,一个进程崩溃不会影响其他进程。
线程:进程内的执行单元,是CPU调度的最小单位,也叫轻量级进程。一个进程包含至少一个主线程,进程内的多个线程共享该进程的堆内存、全局变量、资源句柄,仅私有栈内存和程序计数器。
核心区别:
资源隔离:进程独立资源,线程共享进程资源
开销大小:进程创建、销毁、切换开销极大;线程开销极小
容错性:进程相互独立,单进程崩溃不影响全局
原创力文档

文档评论(0)