マルチスレッド環境でLuaInterfaceを機能させる方法はありますか?
LuaInterfaceを使用してネイティブアプリケーションからのデータを処理するマルチスレッドc#(.Net 4)アセンブリがあります。各スレッドには、Luaインタープリターの独自のインスタンスがあります。Lua.GetFunction()
スクリプトから関数を取得し、その関数を定期的に呼び出すために使用します。処理する関数に辞書を渡します。これは1つのスレッドで正常に機能します。しかし、2つのスレッドを使用すると、アプリ全体がクラッシュし、VisualStudioで次のようなエラーが表示されます。
The thread 'Win32 Thread' (0xa78) has exited with code -1073740791 (0xc0000409).
スクリプトを変更して、渡した辞書を使用しない些細なことを実行すると、複数のスレッドでも正常に機能します。
これを機能させるには、各インタプリタに独自のプロセスまたはAppDomainを与える必要がありますか?