Lua实施什么牌子的协程?

Chr*_*s_F 1 lua coroutine

谁能具体告诉我协程Lua的“味道”是什么?我问是因为Lua的协程似乎非常适合我的问题,我希望能够在各个点(可能在嵌套函数调用内)暂停函数,然后再恢复它。尽管具有类似“协程/生成器”的构造,但在C#或JavaScript中这似乎是不可能的。还有哪些其他语言支持这些类型的协程?

lhf*_*lhf 5

本文在Lua协程,这是免费提供,说:

LUA实现的概念的非对称协程,其通常表示为半对称semicoroutines [马林,1980],[Dahl等人,1972]。之所以称其为非对称协程设施,是因为它们涉及两种类型的控制传递操作:一种用于(重新)调用协程,而另一种则是挂起它,后者将控制权返回给协程调用程序。不对称协程可以被认为是其调用方的从属,它们之间的关系类似于被调用例程和调用例程之间的关系。通过对称实施不同的控制规则协程设备,提供单次转移操作以将控制切换到指示的协程。因为对称协程可以在它们之间传递控制权,所以据说它们在相同的层次级别上运行。以下论据证明了为什么Lua提供不对称协程而不是提供对称功能或同时提供这两种机制。