首页 > 代码库 > 生成器、协程(yield)
生成器、协程(yield)
来自: https://en.wikipedia.org/wiki/Coroutine
生成器,也称为semicoroutines,[5]也是子程序的泛化,但比协同程序更受限制。 具体来说,虽然这两个都可以多次产生,暂停它们的执行并允许在多个入口点重新进入,但是它们的不同之处在于,协同程序可以控制在它们屈服之后执行继续的位置,而发生器不能,而是将控制转移回生成器的调用者 。[6] 也就是说,由于生成器主要用于简化迭代器的写入,所以生成器中的yield语句不指定要跳转到的协程,而是将值传递回父例程。
协程是非抢占的
"Subroutines are special cases of ... coroutines." –Donald Knuth.[3]
生成器、协程(yield)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。