ImportCustomizerを使用して追加された一連の暗黙的なインポートを使用してGroovyCompilerConfigurationを作成するコードがあります。同じCompilerConfigurationオブジェクトを複数のGroovyClassLoadersまたはGroovyShellsで再利用しても安全かどうか疑問に思いました。渡されたCompilerConfigurationを変更するコードがGroovyClassLoaderまたはGroovyShellに表示されないため、おそらく安全です。
質問する
163 次
1 に答える
1
に固執している限り、ImportCustomizer
おそらく安全ですが、コンパイルカスタマイザーもコンパイラー構成もスレッドセーフになるように設計されていないため、個別の構成オブジェクトを使用することをお勧めします。これは一般に、コンパイルプロセスのすべてのクラスに当てはまります。スレッドセーフではありません。
CompilerConfiguration
を作成し、それを複数のGroovyShell
インスタンスに渡し、異なるスレッドにカスタマイザーを追加する状況は簡単に想像できます。
したがって、同じ構成を共有する非常に正当な理由がない限り(そして、実際には1つは表示されません:))、安全な方法で個別のオブジェクトを使用してください。
于 2012-07-13T16:19:02.987 に答える