Java Groovy—对象重用。
在下面的代码中, 我正在创建groovy实例并将其缓存在hashmap中Java Groovy—对象重用。,java,multithreading,groovy,Java,Multithreading,Groovy,在下面的代码中, 我正在创建groovy实例并将其缓存在hashmap中 GroovyClassLoader loader = new GroovyClassLoader(this.getClass().getClassLoader()); Class groovyClass = loader.parseClass(groovyMap.get(key), key + ".groovy"); groovyObject = (GroovyObject) groovyClass.newIn
GroovyClassLoader loader = new GroovyClassLoader(this.getClass().getClassLoader());
Class groovyClass = loader.parseClass(groovyMap.get(key), key + ".groovy");
groovyObject = (GroovyObject) groovyClass.newInstance();
instanceMap.put(key, groovyObject);
当我以多线程模式从缓存映射中获取实例并执行
groovtIObject.invokeMethod("methodname",args);
该方法是否是线程安全的,就像java中一样。我在groovy脚本中没有共享任何实例级变量
非常感谢您的输入。由于Groovy生成字节码并实际生成一个方法,因此它将具有与Java方法相同的线程安全级别。请注意,绑定在默认情况下并不是真正的线程安全的。但既然您已经说过,您排除了实例级变量,那就没问题了。谢谢,这很有意义