面试真题

操作系统 · 简单 · 快手

线程与协程的区别?

简单 操作系统 🎤 快手
参考答案
结论:线程由内核调度,协程由用户态调度,协程更轻量。要点:线程是OS调度单位,栈MB级,切换需内核保存上下文(寄存器、页表等),开销大;协程运行在线程上,栈KB级,切换仅保存少量状态,无系统调用;对比:线程阻塞引发内核切换,协程阻塞(如IO)可主动让出,线程不阻塞;示例:Go协程go func()由runtime调度,用channel通信;适用:高并发IO用协程(Go/Python asyncio),CPU密集用多线程。注意协程需绑多线程才能用多核。
题目整理自公开面经,答案由校招宝自研生成,仅供参考