有没有一种让方法同步的Groovy方法?
我正在使用Groovy 1.7.2。有一些方法需要同步,有没有更常规的方法可以做到这一点,或者我必须遵循同样的Java方法,将有没有一种让方法同步的Groovy方法?,groovy,Groovy,我正在使用Groovy 1.7.2。有一些方法需要同步,有没有更常规的方法可以做到这一点,或者我必须遵循同样的Java方法,将Synchronized关键字放在方法之前 e.g : synchronized static def Map getMap(def fileName) { } 由于Groovy 1.7.3我们有了一个新的AST转换:如果您可以升级到Groovy 1.7.3,您可以使用同步的AST转换。您可以在实例和静态方法上使用注释。注释将在类中创建一个锁变量(或者可以使用现有变量
Synchronized
关键字放在方法之前
e.g : synchronized static def Map getMap(def fileName) { }
由于Groovy 1.7.3我们有了一个新的AST转换:如果您可以升级到Groovy 1.7.3,您可以使用
同步的AST转换。您可以在实例和静态方法上使用注释。注释将在类中创建一个锁变量(或者可以使用现有变量),并且代码将在该锁变量上同步
与向方法中添加关键字相比,使用synchronized
块更可取。如果在方法上使用synchronized
关键字,则在上同步此
,这意味着要访问类中任何方法的所有其他线程都必须等待锁再次释放
import groovy.transform.Synchronized
class YourClass {
@Synchronized
static Map getMap(def fileName) {
...
}
}
升级目前还没有计划,但提供的信息肯定非常有用,这意味着在groovy 1.7.2中我可以使用java同步样式,