KTV协程高频面试题(真实面试版·含详细答案).docxVIP

  • 2
  • 0
  • 约4.18千字
  • 约 7页
  • 2026-07-27 发布于河北
  • 举报

KTV协程高频面试题(真实面试版·含详细答案).docx

KTV协程高频面试题(真实面试版·含详细答案)

一、基础认知篇(入门必问)

1.什么是协程?协程和线程、进程的核心区别是什么?

详细答案:

协程是用户态的轻量级执行单元,由程序自身调度,不依赖操作系统内核,是比线程更小的并发执行单位。

三者核心区别:

1.进程:操作系统资源分配的最小单位,独立内存、独立PID,切换开销极大,进程间完全隔离,通信成本极高。

2.线程:操作系统调度的最小单位,共享进程内存,切换需要内核态介入,有上下文切换开销,线程数量过多会导致内核调度压力暴涨。

3.协程:用户态调度,无需内核介入,切换只需要保存少量栈信息,开销极低;单个线程内可以跑成千上万个协程,无内核调度竞争,资源占用极小。

落地总结:进程管资源,线程管调度,协程管高效并发。KTV业务高IO场景(直播推拉流、消息推送、接口转发)全部依赖协程实现高并发。

2.Go协程GMP模型是什么?分别解释G、M、P的作用

详细答案:

GMP是Go运行时调度goroutine的核心模型,也是KTV面试必考知识点,三者各司其职:

G(Goroutine):用户创建的协程,包含栈空间、执行状态、PC指针、任务信息,是真正的执行任务载体,极小,初始栈只有2KB。

M(Machine):操作系统线程,负责绑定P、执行G的代码,真正占用CPU资源的实体。M本身不调度任务,只负责干活。

P(Processor):

文档评论(0)

1亿VIP精品文档

相关文档