Linux多线程高频面试题及详细答案(实战面试版).docxVIP

  • 1
  • 0
  • 约4.84千字
  • 约 8页
  • 2026-10-13 发布于河北
  • 举报

Linux多线程高频面试题及详细答案(实战面试版).docx

Linux多线程高频面试题及详细答案(实战面试版)

一、基础概念类

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

答案:

线程是进程内的最小执行单元,是操作系统调度的基本单位,一个进程可以包含多个线程,所有线程共享进程的地址空间和系统资源。

线程和进程核心区别:

1)资源占用:进程是资源分配的最小单位,每个进程有独立的虚拟地址空间、文件描述符、堆栈资源;线程共享进程资源,仅拥有独立的栈、寄存器、线程私有数据,资源开销极小。

2)调度开销:进程切换需要刷新页表、缓存、系统上下文,开销大;线程切换仅需切换少量寄存器和栈信息,开销极低。

3)通信方式:进程间通信复杂,需要管道、消息队列、共享内存、socket等机制;线程直接读写全局变量、堆内存即可通信,无需额外IPC机制。

4)独立性:进程完全独立,一个进程崩溃不影响其他进程;线程共享进程资源,单个线程异常崩溃会导致整个进程退出。

5)创建销毁:进程fork成本高,线程pthread创建销毁速度远快于进程。

2、多线程的优缺点分别是什么?

答案:

优点:

1)资源利用率高,线程切换开销小,适合高并发场景;

2)通信简单,共享内存数据,无需复杂IPC;

3)能充分利用多核CPU,并行执行任务,提升程序运行效率;

4)创建、销毁成本低,适合高频短任务处理。

缺点:

1)线程安全问题,多线程并发读写共享资源会出现数据错乱;

2)一个线程崩溃导致

文档评论(0)

1亿VIP精品文档

相关文档