我有一个基于C的API暴露给lua,根据游戏引擎中的触发器调度lua协同程序。
我在我的游戏循环中使用同步线程(光纤)进行多任务处理lua来维护一个我只称之为lua_resume的lua_Thread对象池。
重读lua_resume / lua_yield文档意味着我应该看一个大的内存泄漏,因为每次调用lua_yield都必须能够从某种堆栈中弹出状态信息?
答案 0 :(得分:2)
GC正确收集协同程序。 (如果没有引用它 - 它将被收集。因此没有内存泄漏的可能性。)
您没有yield()
,您可以允许协程完成,或者return
来自它 - 您将无法恢复完成的协程。