美文网首页
协程的本质

协程的本质

作者: 掩流年 | 来源:发表于2019-11-17 22:34 被阅读0次

    什么是协程

    协程本质也是线程的一种。我们知道,在线程运行的时候,会占用cpu的调度片,当时间片的时间到了之后,就要放弃cpu,并且保存上下文。协程被称为微线程,其实它的本质作用和线程是一样的,也是为了执行一个任务在cpu中占用调度片,在内存中占用一定的空间。区别就是协程会始终占用cpu的时间片,在协程里面,自己实现了一套调度算法。

    线程的缺点

    • 速度慢,上下文切换及其费时间。调度的时候需要发起系统调用,在内核态和用户态之间切换。
    • 独立的方法栈占用的空间较大。

    协程好处

    • 实现更大的并发度,可以轻易到百万级并发。典型的线程会占用1M的内存空间,一个协程例如gorotine,典型的占用4KB。占用空间小。
    • 速度快,因为线程在时间片切换的时候得保存上下文,而协程不需要。但协程得自己在用户态实现一套调度算法。

    相关文章

      网友评论

          本文标题:协程的本质

          本文链接:https://www.haomeiwen.com/subject/dnhpictx.html