协程为什么比线程快?

提问者:帅平 问题分类:面试刷题
协程为什么比线程快?
1 个回答
白雨矮碧荷
白雨矮碧荷
主要原因有:
1、轻量级:协程的创建和销毁开销比线程小得多,协程不需要像线程那样需要操作系统内核的支持和资源分配,在用户态就可以完成调度和切换。
2、无上下文切换开销:线程切换需要保存和恢复寄存器、内存页表等上下文信息,而协程在同一个线程内切换,不需要进行这些操作,减少了上下文切换的开销。
3、协作式调度:协程通常采用协作式调度,即协程在执行到某些特定点(如I/O操作)时会主动让出CPU,让其他协程执行,避免了线程调度中的抢占式调度带来的额外开销。
发布于:3个月前 (01-22) IP属地:四川省
我来回答