lua_resume应该总是有一个平衡的lua_yield吗?

时间:2011-03-02 08:43:35

标签: lua coroutine

我有一个基于C的API暴露给lua,根据游戏引擎中的触发器调度lua协同程序。

我在我的游戏循环中使用同步线程(光纤)进行多任务处理lua来维护一个我只称之为lua_resume的lua_Thread对象池。

重读lua_resume / lua_yield文档意味着我应该看一个大的内存泄漏,因为每次调用lua_yield都必须能够从某种堆栈中弹出状态信息?

1 个答案:

答案 0 :(得分:2)

GC正确收集协同程序。 (如果没有引用它 - 它将被收集。因此没有内存泄漏的可能性。) 您没有yield(),您可以允许协程完成,或者return来自它 - 您将无法恢复完成的协程。