【发布时间】:2011-12-03 12:12:33
【问题描述】:
我正在使用 LUA 的线程,并且我在我的代码中使用 lua_newthread 必须执行相同的功能 n 次。
为了与比赛的线程一起工作,在 C++ 中实例化一些线程,并为每个线程分配一个 lua_state,this lua_state = lua_newthread。 该线程仅在应用程序结束时被销毁,因此我总是重用这些线程的属性 lua_state。我的问题是这样的 运行一段时间后,应用程序发生崩溃,这可能是由垃圾收集器引起的?
在我上一个应用程序中,我使用了命令 lua_gc (thread, LUA_GCSTOP, 0),但错误仍然存在。
我尝试的另一个策略是每次运行 lua_resume 的结束,我添加了命令 lua_settop (thread, 0),这样就耗尽了电池并 没有消耗任何内存空间。
请帮帮我,会发生什么?
【问题讨论】: