我正在使用Groovy 1.7.2.有些方法需要同步,有没有更多的方法可以做到这一点,或者我必须遵循相同的Java方式synchronized在方法之前放置关键字.
e.g : synchronized static def Map getMap(def fileName) { }
Run Code Online (Sandbox Code Playgroud)
Ben*_*hko 12
如果可以升级到Groovy 1.7.3,则可以使用SynchronizedAST转换.您可以在实例和静态方法上使用注释.注释将在您的类中创建一个锁变量(或者您可以使用现有变量),并在该锁变量上同步代码.
synchronized与将关键字添加到方法相比,应优先使用块.如果synchronized在同步的方法上使用关键字,this这意味着要访问类中任何方法的所有其他线程必须等到锁再次空闲.
import groovy.transform.Synchronized
class YourClass {
@Synchronized
static Map getMap(def fileName) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8824 次 |
| 最近记录: |