美文网首页
[其他] 初学协程

[其他] 初学协程

作者: scvthedefect | 来源:发表于2016-11-27 18:52 被阅读0次

    1. 什么是协程

    协程是协同程序(Coroutine)的简称(co前缀表示合作,routine即为程序)。具体来说就是程序A在执行时可能会转为执行程序B,甚至是其他,而每个程序之间并没有相互调用

    2. 与一般子程序的区别

    线程的执行,实质是一个方法/函数从入栈(方法调用)到出栈(返回值)的过程,顺序十分明确。

    协程也是由单一线程执行,如第一点所说,由于并没有相互调用关系,因此理解起来更困难(通过CPU中断切换协程的上下文)。

    3. 与多线程相比的优势

    协程之间并没有方法调用关系,有点像多线程。而与多线程比起来,协程具备的优势:

    1. 更高的执行效率(线程的来回切换需要消耗资源,所需线程越多,协程的优势越大)
    2. 不需要多线程对共享资源的锁机制

    4. 合理使用

    多进程+协程

    5. 参考资料:

    1. 廖雪峰的博客

    相关文章

      网友评论

          本文标题:[其他] 初学协程

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