`
leon1509
  • 浏览: 538385 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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 转换: @ 同步 
分享到:
评论
1 楼 a1439226817 2014-12-04  
groovy用的多吗?我还没发现有哪个java项目在用这个?

相关推荐

    groovy2.3.2

    这个框架提供了一组断言和工具,用于检查并发条件下的同步问题,比如死锁、竞态条件等。 除此之外,Groovy的动态特性,如元编程和AST转换,也为并发编程提供了新的可能性。例如,可以通过元编程动态地添加或修改类...

    rxjava-groovy-0.7.0.zip

    这个项目很可能是将RxJava的特性与Groovy的灵活性相结合,构建了一个用于运行非同步进程的简单机制。"Processor.zip"可能包含了具体实现这一机制的核心代码。 在Scala中,异步编程通常通过 Futures 和 Promises ...

    通过groovy自定义函数实现提取明细表字段至主表字段.rar

    这样的操作对于数据同步、报表生成以及业务流程自动化等场景非常常见。 Groovy是一种动态、灵活的Java平台语言,它具有简洁的语法和强大的元编程能力。在“致远”这样的企业级应用系统中,Groovy常被用来编写自定义...

    apache-camel-3.7.0_数据同步_

    2. **DSL**(领域特定语言):Camel 使用基于Java、XML或Groovy的DSL来定义路由规则,使得路由配置简洁明了。例如,你可以用Java DSL定义一条从FTP服务器下载文件,然后存入数据库的同步路径。 3. **数据转换**:在...

    Groovy_笔记

    生产者/消费者问题中同步机制的应用也得到了展示。`Storage`类使用了`synchronized`关键字确保对共享资源(如列表`stack`)的安全访问。`wait()`和`notifyAll()`方法用于线程间的协作,控制生产者和消费者的运行节奏...

    SaveActionGroovyScripts:IntelliJ IDEA Android Studio插件,当文件同步保存时,允许用户自动运行自定义Groovy脚本

    这个IntelliJ IDEA / Android Studio插件允许用户在保存/同步文件时自动运行自定义的Groovy脚本。 支持任何有效的Groovy脚本; 此外,该插件还公开了一个简单的API,使文件处理特别容易,从而允许简单地实现源代码...

    groovy-patterns:此存储库将包含来自 - https 的设计模式的常规实现

    随着时间的推移,我将添加自述文件中提到的文件,并使其与提到的 python 存储库中实现的最新模式以及我来的任何新模式保持同步。 有关使用 Groovy 的设计模式的最佳参考,请参阅文档 - [Groovy 设计模式] [ ] 当前...

    groovy代码-分库分表算法

    6. **数据一致性**:处理可能出现的数据冗余和一致性问题,如数据同步和补偿机制。 7. **扩展性设计**:代码需要设计成可扩展的,以便于添加新的数据库或表。 在`main.groovy`文件中,可能包含了实际的Groovy代码...

    8、NIFI综合应用场景-NiFi监控MySQL binlog进行实时同步到hive

    例如,使用`ExecuteScript`(如Groovy或JavaScript)处理器来执行计算、过滤或修改数据。 5. **数据写入Hive**:最后,使用`HiveMetastoreClientService`服务和`PutHiveQL`处理器将转换后的数据写入Hive表。由于...

    数据集成介绍-实时同步Elasticsearch.pdf

    在数据处理层面,DataWorks支持Groovy函数和字符串替换等操作,允许用户自定义数据过滤规则,实现复杂的数据转换。同时,它还提供了一个拖拽式开发界面,使得用户能够直观地进行实时同步配置,大大简化了开发流程。 ...

    groovypodcast:显示Groovy Podcast剧集的注释

    通过收听Groovy Podcast,开发者可以了解到Groovy如何在实际开发中发挥作用,提高自己的技能,并与Groovy社区保持同步。 GroovyPodcast的文件结构可能包括以下部分: 1. **Episode Scripts**:每一集的详细剧本,...

    Java中CountDownLatch进行多线程同步详解及实例代码

    Java中CountDownLatch进行多线程同步详解及实例代码 CountDownLatch是Java中的一种多线程同步辅助类,主要用来同步多个任务的执行。它允许一个或多个线程等待,直到一组正在其他线程中执行的操作完成。下面是对...

    gmavenplus-intellij-plugin:IntelliJ 插件,支持新的 GMavenPlus Groovy Maven 插件

    4. **重构代码**:对 Groovy 代码进行重构,如提取方法、重命名变量等,同时保持 Java 代码同步更新。 五、总结 GMavenPlus IntelliJ 插件为开发者提供了一个高效、便捷的开发环境,尤其对于那些使用 Groovy 和 ...

    awaitility源码 java测试工具,用来同步异步操作的DSL

    awaitility java测试工具,用来同步异步操作的DSL Awaitility是一个开源工具,它主要用于提供轮询的方式判断操作是否完成,以最短的时间获取异步任务结果。该工具支持Java、Scala和Groovy三种语言,并且可以用于测试...

    java开源包7

    WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的...

    gradle user

    **Gradle** 是一种基于 Java 的项目自动化构建工具,采用 Groovy 或 Kotlin DSL(领域特定语言)来编写构建脚本,支持增量编译和依赖管理,是目前 Java 项目中最流行的构建工具之一。 ##### 特点: - **灵活性**:...

    RxJava:.Net响应式编程框架 Rx 的Java版本开源实现,有Groovy, Clojure, Scala and JRuby版本的实现。它扩展了观察者模式以支持数据事件序列,并添加了运算符,因此可以声明性地组合序列,同步抽象的低级线程,线程安全性和并发数据结构等问题

    它扩展了以支持数据/事件序列,并添加了运算符,使您可以声明性地组成序列,同时抽象出对诸如低级线程,同步,线程安全和并发数据结构之类的问题的关注。 零依赖 <1MB的罐子 Java 6+和 2.3+ Java 8 Lambda支持...

    grails学习

    确保所有必要的文件都已同步到本地项目中。 2. **插件存储位置问题** Grails 1.1 变更了插件存储路径,默认不再保存在 `PROJECT_HOME/plugins` 目录下。如果你遇到因插件导致的编辑错误,可以在 `grails-app/conf/...

Global site tag (gtag.js) - Google Analytics