首页 > 其他 > 详细

生成器、协程(yield)

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

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

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

协程是非抢占的

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

 

生成器、协程(yield)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!