码迷,mamicode.com
首页 > 其他好文 > 详细

生成器、协程(yield)

时间:2016-11-25 17:45:13      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:ref   跳转   http   class   程序   dia   简化   调用   nal   

来自: https://en.wikipedia.org/wiki/Coroutine

生成器,也称为semicoroutines,[5]也是子程序的泛化,但比协同程序更受限制。 具体来说,虽然这两个都可以多次产生,暂停它们的执行并允许在多个入口点重新进入,但是它们的不同之处在于,协同程序可以控制在它们屈服之后执行继续的位置,而发生器不能,而是将控制转移回生成器的调用者 。[6] 也就是说,由于生成器主要用于简化迭代器的写入,所以生成器中的yield语句不指定要跳转到的协程,而是将值传递回父例程。

协程是非抢占的

"Subroutines are special cases of ... coroutines." –Donald Knuth.[3]

 

生成器、协程(yield)

标签:ref   跳转   http   class   程序   dia   简化   调用   nal   

原文地址:http://www.cnblogs.com/autoria/p/6102101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!