首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LuaInterface随机异常

LuaInterface随机异常
EN

Stack Overflow用户
提问于 2011-08-30 12:15:02
回答 2查看 701关注 0票数 0

在我正在制作的游戏中,我使用LuaInterface编写脚本。

脚本工作得很好,但不知怎么的,我得到了很多随机异常。

我已经将问题缩小到从C#代码调用lua函数的地方,这些函数是从另一个线程调用的,用于处理与游戏服务器的网络连接。

我认为正在发生的情况是,正在运行lua代码,并且从另一个线程从C#调用lua函数,这会导致随机错误。

如何调用C#中的函数:

代码语言:javascript
复制
function.Call(message);

函数的类型为LuaFunction,消息是自定义对象。

我所犯的错误:

在LuaInterface.dll

  • Error运行lua: Functional

  • 中发生了“LuaInterface.LuaScriptException”类型的第一次机会异常在LuaInterface.dll

  • Unable中出现了“LuaInterface.LuaScriptException”类型的第一次机会异常,以打开脚本: mainmenu/console

它是否与从创建LuaVM的线程以外的线程运行lua函数有关?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-30 14:16:37

Lua不是线程安全的。您要么需要每个线程拥有一个Lua状态,然后调用线程特定的状态,要么在任何Lua调用周围放置锁。

票数 1
EN

Stack Overflow用户

发布于 2011-08-30 16:08:46

问题确实是线程问题,这要感谢BMitch指出了这一点。

我通过让消息线程将带有参数的函数传递给主线程来修正它,然后主线程在更新方法中调用它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7242968

复制
相关文章

相似问题

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