Groovy同步

原贴 点击这里

在 groovy 中同步

我的项目与 groovy 版本是 1.7.2、 有需要同步,有任何 groovy 的方式执行此操作的方法或跟随同一 java 标准放同步方法之前

e.g : synchronized static def  Map getMap(def fileName) { }


2条回答
回答#1
如果您可以升级到 Groovy 1.7.3 可以使用 Synchronized AST 转型相反。您可以使用注释实例和静态方法。注释将在您的类中创建一个锁变量 (或您可以使用现有的变量) 与代码同步该锁变量上。

使用 synchronized 块应当优先于该方法添加关键字。如果您使用 synchronized 关键字对您进行同步的方法 this 这意味着所有其他线程访问您的类中的方法的任何想要有等待,直到再次锁定是免费。

import groovy.transform.Synchronized

class YourClass {
    @Synchronized
    static Map getMap(def fileName) {
        ...
    }
}
回答#2
≪strong> Groovy 1.7.3 以来,我们有了新的 AST 转换: @ 同步 

猜你喜欢

转载自leon1509.iteye.com/blog/1544849
今日推荐