Есть ли способ заставить LuaInterface работать в многопоточной среде?
У меня есть многопоточная сборка c # (.Net 4), которая использует LuaInterface для обработки данных из собственного приложения. У каждого потока есть свой экземпляр интерпретатора Lua. Я использую Lua.GetFunction()
, чтобы извлечь функцию из скрипта и периодически вызывать эту функцию. Я передаю словарь в функцию для обработки. Это прекрасно работает с одним потоком. Но когда я использую два потока, это приводит к сбою всего приложения, и я вижу такие ошибки в Visual Studio:
The thread 'Win32 Thread' (0xa78) has exited with code -1073740791 (0xc0000409).
Если я изменю сценарий, чтобы сделать что-то тривиальное, когда он не использует Словарь, который я передаю ему, он также отлично работает с несколькими потоками.
Я собираюсь предоставить каждому интерпретатору свой собственный процесс или домен приложений, чтобы эта работа работала?