并发编程面试题及详细答案.docxVIP

  • 2
  • 0
  • 约9.31千字
  • 约 10页
  • 2026-04-29 发布于河北
  • 举报

并发编程面试题及详细答案

一、基础概念类(必问,考察基础掌握度)

1.什么是并发?什么是并行?两者的核心区别是什么?

问题解析:面试官主要考察你对并发编程最基础概念的理解,避免混淆“并发”和“并行”,很多初学者会把两者等同,这是高频易错点。

详细答案:

并发(Concurrency):多个任务在同一时间段内交替执行,看似同时进行,本质是CPU通过时间片轮转(上下文切换)实现的“伪并行”。比如单核心CPU上,同时打开浏览器、微信、记事本,CPU在这三个程序之间快速切换,给人同时运行的错觉。

并行(Parallelism):多个任务在同一时刻同时执行,需要多核心CPU支持,每个核心独立执行一个任务,是真正的“同时进行”。比如多核心CPU上,一个核心运行微信,另一个核心运行浏览器,两个任务同时推进。

核心区别:是否“真正同时执行”;并发依赖时间片切换,并行依赖多核心硬件;并发解决“多个任务需要被处理”的问题,并行解决“多个任务快速处理”的问题。

2.进程和线程的区别是什么?为什么并发编程多用水线程而非进程?

问题解析:考察进程、线程的核心差异,以及实际开发中选择线程的原因,重点突出“轻量级”的具体体现。

详细答案:

核心区别(3个关键维度):

1.资源占用:进程是操作系统资源分配的最小单位,每个进程有独立的内存空间(代码段、数据段、堆、栈),资源占用大;线程是CPU调度的最小单位

文档评论(0)

1亿VIP精品文档

相关文档