Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Groovy—对象重用。_Java_Multithreading_Groovy - Fatal编程技术网

Java Groovy—对象重用。

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

在下面的代码中, 我正在创建groovy实例并将其缓存在hashmap中

  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方法相同的线程安全级别。请注意,绑定在默认情况下并不是真正的线程安全的。但既然您已经说过,您排除了实例级变量,那就没问题了。

谢谢,这很有意义