Вопрос

Мы реализованы оценщиком выражения через хостинг двигателя Ironruby. Упрощенная версия оценщика, которую вы можете увидеть здесь.

Теперь мы пытаемся получить больше производительности от Ironruby, выполняя выражения во многих темах (и мы получили это). Один вопрос беспокоит нас - безопасен ли поток метода выполнения?

Это было полезно?

Решение

ScriptRuntime, ScriptEngine, а также ScriptScope все они безопасны, предназначенные для использования между потоками. Конкретно, ScriptScope использует безопасную систему данных, поэтому ScriptScope может быть разделен между потоками.

Если вы предоставите свою собственную область для сценариев для выполнения, вам необходимо убедиться, что хранилищ данных Scope безопасен. Кроме того, при мутировании данных в ScriptScope, безопасность потока обеспечивается блокировкой, поэтому имейте в виду, что многие разные потоки мутируют общие ScriptScope Уничтожится производительность. Чтение данных из Scriptscope не блокирует.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top