design pattern
文章平均质量分 93
拉里山姆
这个作者很懒,什么都没留下…
展开
-
协程(三)协程与Continuation
Continuation表示一个运算在其指定位置的剩余部分。当Continuation作为语言的第一类(First-class)对象时,可用于实现多种控制结构。同样作为控制结构,First-class continuation的表达力比协程更加强大,而且有着明确定义的语义,以至于在它出现之后对协程的研究就几乎完全停止了。但后来Revisiting Coroutines中证明了完全协程与One-转载 2014-03-20 22:04:44 · 1173 阅读 · 0 评论 -
协程(一)协程的定义与分类
由于协程所带来的便利,以及使用时产生的疑惑,我深入了解了一番这个概念。回头来看,目前网上能查到的关于协程的资料实在不多,而且多数都会造成一些迷惑和误解(主要是下文提到的概念模糊问题)。于是我决定写个系列来详细介绍这个概念,一方面加深自己的理解,一方面培养点开放共享的精神,同时也期待大牛的指正。 协程的定义 协程的概念最早由Melvin Conway在1963年提出并实现,用于简化COBOL编译转载 2014-03-20 22:02:04 · 1402 阅读 · 0 评论 -
协程(二)协程的应用
上一篇中对协程的概念做出了解释和澄清。总的来说,完全协程才算得上是真正意义上的协程,其它如生成器等只是部分实现了协程概念的非完全协程,我们之后主要讨论完全协程。 本篇介绍一些协程的实际应用。协程本质是一种控制抽象,它的价值在于可以简洁优雅地实现一些控制行为。在协程中,控制可以从当前执行上下文跳转到程序的其它位置,并且可以在之后的任意时刻恢复当前执行上下文,控制从跳出点处继续执行。这种行为与C转载 2014-03-20 22:03:52 · 799 阅读 · 0 评论