0

ImportCustomizerを使用して追加された一連の暗黙的なインポートを使用してGroovyCompilerConfigurationを作成するコードがあります。同じCompilerConfigurationオブジェクトを複数のGroovyClassLoadersまたはGroovyShellsで再利用しても安全かどうか疑問に思いました。渡されたCompilerConfigurationを変更するコードがGroovyClassLoaderまたはGroovyShellに表示されないため、おそらく安全です。

4

1 に答える 1

1

に固執している限り、ImportCustomizerおそらく安全ですが、コンパイルカスタマイザーもコンパイラー構成もスレッドセーフになるように設計されていないため、個別の構成オブジェクトを使用することをお勧めします。これは一般に、コンパイルプロセスのすべてのクラスに当てはまります。スレッドセーフではありません。

CompilerConfigurationを作成し、それを複数のGroovyShellインスタンスに渡し、異なるスレッドにカスタマイザーを追加する状況は簡単に想像できます。

したがって、同じ構成を共有する非常に正当な理由がない限り(そして、実際には1つは表示されません:))、安全な方法で個別のオブジェクトを使用してください。

于 2012-07-13T16:19:02.987 に答える