多线程常见面试题及详细答案.docxVIP

  • 1
  • 0
  • 约1.15万字
  • 约 12页
  • 2026-05-25 发布于河北
  • 举报

多线程常见面试题及详细答案

一、基础必问(入门级,高频)

1.什么是线程?线程和进程的区别是什么?

问题解析:考察对多线程核心概念的理解,避免死记硬背,重点说清“资源分配”和“执行单元”的核心差异,结合实际场景更易得分。

详细答案:线程是进程内的一个执行单元,也是CPU调度的最小单位,一个进程可以包含多个线程,这些线程共享进程的资源(比如内存、文件句柄),但各自有自己的程序计数器、栈空间。

两者核心区别主要3点,用通俗的话讲:

1.资源分配:进程是资源分配的最小单位(系统给进程分配内存、CPU时间片等),线程不单独分配资源,只共享所属进程的资源;

2.开销成本:创建、销毁进程的开销很大(要分配资源、回收资源),而线程的开销小很多(只需分配栈空间,共享进程资源);

3.独立性:进程之间相互独立,一个进程崩溃一般不会影响其他进程;但同一进程内的线程共享资源,一个线程崩溃可能导致整个进程崩溃(比如主线程崩溃,子线程也会终止)。

举个例子:打开一个微信(一个进程),微信里的聊天窗口、朋友圈刷新、消息接收,就是多个线程在同时工作。

2.为什么要使用多线程?使用多线程有什么优缺点?

问题解析:考察多线程的实际应用价值,避免只说“提高效率”,要结合场景说清优势,同时不回避缺点(实际开发中踩过的坑更有说服力)。

详细答案:使用多线程的核心目的,是提高程序的执行效率,充分利用CPU

文档评论(0)

1亿VIP精品文档

相关文档