首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同lua态间的lua_xmove

不同lua态间的lua_xmove
EN

Stack Overflow用户
提问于 2013-10-15 18:29:01
回答 1查看 1.9K关注 0票数 6

根据Lua5.1手册,lua_xmove在属于同一lua状态的不同线程堆栈之间移动值。但是,我偶然地用它来在不同的Lua州移动值,而且它似乎工作得很好!是否有其他API将值从一种Lua状态移动到另一种状态(在5.1中),或者可以使用lua_xmove

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-15 18:38:53

Lua将垃圾收集数据存储在全局状态中。因此,如果跨州移动GC或string对象,可能会混淆垃圾收集器并创建悬空引用。

因此,虽然它看起来很有效,但也很容易在以后引发问题。

有关参考,请参见开发人员讨论此问题的这个邮件列表线程

请注意,lua_xmove确实检查全局状态是否相同:

代码语言:javascript
复制
api_check(from, G(from) == G(to));
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19388476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档