IronRubyエンジンをホストすることで式エバリュエーターを実装します。あなたがここで見ることができる評価者の簡略化されたバージョン。
現在、多くのスレッドで式を実行することにより、IronRubyからより多くのパフォーマンスを取得しようとしています(そしてそれを取得しました)。1つの質問が気になります-実行メソッドのスレッドは安全ですか?
IronRubyエンジンをホストすることで式エバリュエーターを実装します。あなたがここで見ることができる評価者の簡略化されたバージョン。
現在、多くのスレッドで式を実行することにより、IronRubyからより多くのパフォーマンスを取得しようとしています(そしてそれを取得しました)。1つの質問が気になります-実行メソッドのスレッドは安全ですか?
ScriptRuntime、、ScriptEngineおよびScriptScopeはすべてスレッドセーフであり、スレッド間で使用するように設計されています。具体的にScriptScopeは、スレッドセーフなデータストアを使用するため、ScriptScopeスレッド間で共有できます。
スクリプトを実行するための独自のスコープを提供する場合は、スコープのデータストアがスレッドセーフであることを確認する必要があります。また、でデータを変更する場合ScriptScope、スレッドセーフはロックによって保証されるため、共有を変更する多くの異なるスレッドScriptScopeはパフォーマンスを低下させることに注意してください。ScriptScopeからのデータの読み取りはロックされません。