Linux线程面试题及详细答案.docxVIP

  • 2
  • 0
  • 约9.53千字
  • 约 12页
  • 2026-05-18 发布于河北
  • 举报

Linux线程面试题及详细答案

一、基础必考题(入门级,面试必问)

1.什么是Linux线程?它和进程有什么区别?

问题解析:核心考察对线程、进程本质的理解,避免只说“线程轻量、进程重量”,要结合Linux内核实现来说。

详细答案:Linux线程(Thread),本质是“轻量级进程(LWP)”,它是进程内的一个执行单元,共享进程的地址空间(代码段、数据段、堆),但拥有自己独立的栈空间、程序计数器(PC)和线程ID(TID)。

和进程的核心区别(结合实际开发,不堆砌概念):

资源占用:进程是资源分配的最小单位(拥有独立的地址空间、文件描述符等),开销大;线程是调度的最小单位(不独立分配资源,共享进程资源),开销小。

切换成本:进程切换需要切换整个地址空间,上下文切换耗时久;线程切换只需要切换自身的栈、PC等,切换速度快。

通信方式:进程间通信(IPC)需要借助管道、消息队列、共享内存等机制,麻烦;线程间通信直接共享进程数据(全局变量、堆内存),更高效,但需要注意同步。

独立性:进程间相互独立,一个进程崩溃不影响其他进程;同一进程内的线程共享资源,一个线程崩溃可能导致整个进程崩溃(比如野指针导致线程崩溃,进程随之退出)。

补充:Linux内核本身没有“线程”概念,它把所有执行单元都视为进程,线程是通过“共享地址空间的进程”实现的,由用户态的pthread库管理。

2.Linu

文档评论(0)

1亿VIP精品文档

相关文档