并发编程高频面试题及详细答案(实战向).docxVIP

  • 0
  • 0
  • 约7.4千字
  • 约 10页
  • 2026-09-05 发布于河北
  • 举报

并发编程高频面试题及详细答案(实战向).docx

并发编程高频面试题及详细答案(实战向)

一、并发基础核心面试题

1.说说并发与并行的区别?

参考答案:

并发和并行是完全不同的两个概念,核心差异在于任务执行方式和硬件依托:

并发是单核心CPU快速轮换执行多个任务,同一时间点只有一个任务在运行,通过CPU时间片切换,让多个任务看起来是同时执行的,属于“宏观同时、微观交替”。比如单核电脑同时运行浏览器和微信,本质是CPU不停切换两个程序的任务。

并行是多核心CPU同时执行多个任务,同一时间点多个任务真正意义上一起运行,需要多核硬件支撑。比如八核CPU同时开启八个线程执行计算任务,每个核心单独处理一个任务。

简单总结:并发是交替执行,解决任务多、资源少的问题;并行是同时执行,提升整体任务处理速度。

2.什么是线程和进程?二者的区别是什么?

参考答案:

进程:操作系统资源分配的最小单位,是程序的一次独立运行过程。每个进程都有独立的内存空间、堆、文件句柄等系统资源,进程之间相互隔离,一个进程崩溃不会影响其他进程。

线程:进程内的执行单元,是CPU调度的最小单位,也叫轻量级进程。一个进程包含至少一个主线程,进程内的多个线程共享该进程的堆内存、全局变量、资源句柄,仅私有栈内存和程序计数器。

核心区别:

资源隔离:进程独立资源,线程共享进程资源

开销大小:进程创建、销毁、切换开销极大;线程开销极小

容错性:进程相互独立,单进程崩溃不影响全局

文档评论(0)

1亿VIP精品文档

相关文档