zoukankan      html  css  js  c++  java
  • 协程简述

    协程是一种程序组件,是由子例程(过程、函数、例程、方法、子程序)的概念泛化而来的,子例程只有一个入口点且只返回一次,而协程允许多个入口点,可以在指定位置挂起和恢复执行。

    协程本质是一种控制抽象,它的价值在于可以简洁优雅地实现一些控制行为。在协程中,控制可以从当前执行上下文跳转到程序的其它位置,
    并且可以在之后的任意时刻恢复当前执行上下文,控制从跳出点处继续执行。这种行为与Continuation类似,但协程相比之下更容易理解,某些情况下还更加高效

    进程、线程,都是有内核进行调度,有 CPU 时间片的概念,进行 抢占式调度。
    协程(用户级线程)完全由用户自己的程序进行调度(协作式调度),需要协程自己主动把控制权转让出去之后,其他协程才能被执行到。

    协程如何实现的?

    协程是基于线程的。内部实现上,维护了一组数据结构和 n 个线程,真正的执行还是线程,协程执行的代码被扔进一个待执行队列中,由这 n
    个线程从队列中拉出来执行。这就解决了协程的执行问题。

  • 相关阅读:
    进入新的一线开发周期
    某框架的反人类特性
    8月最后一天随想
    jython 2.7 b3发布
    [转] 基于 Apache Mahout 构建社会化推荐引擎
    FreeBSD10上编译尝试DeepIn UI
    PDT已有很大改进
    两张图
    FreeBSD暂时用9.X系列为宜
    backbone教程
  • 原文地址:https://www.cnblogs.com/slz99/p/12527732.html
Copyright © 2011-2022 走看看