有没有办法让 LuaInterface 在多线程环境中工作?
我有一个多线程 c# (.Net 4) 程序集,它使用 LuaInterface 处理来自本机应用程序的数据。每个线程都有自己的 Lua 解释器实例。我使用Lua.GetFunction()
从脚本中检索函数并定期调用该函数。我将字典传递给要处理的函数。这适用于一个线程。但是当我使用两个线程时,它会使整个应用程序崩溃,并且我在 Visual Studio 中看到如下错误:
The thread 'Win32 Thread' (0xa78) has exited with code -1073740791 (0xc0000409).
如果我将脚本更改为不使用我传递给它的字典的微不足道的事情,那么它也适用于多个线程。
我是否必须为每个解释器提供自己的进程或 AppDomain 才能完成这项工作?