`
weihong0427
  • 浏览: 39697 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

看清GPars的Actors的真面目

阅读更多
GPars支持actor的灵感来自Scala的Actor类库,但不只这些。

Actor是一种基于消息的并发模型,由相互交换消息且没有可变共享状态的独立活动对象构建而来。Actor能够使开发者避免死锁、或锁或饿死等共享内存典型并发问题,同时还利用到了当今硬件的多核特点。
Actor保证了某一时刻actor体至多只有一个线程处理,每次线程被分配共一个actor时内存已经得到同步。因此在actor体中修改actor的状态是安全的,没必要载使用额外(同步或锁)。理想情况下,actor的代码不应该直接从外部调用,actor类的代码只是用来执行处理最后收到的消息,因而actor代码的线程安全是隐含的。如果actor的任何方法允许从其他对象直接调用,那么actor代码和状态的线程安全保证就不存在了。
GPars曾支持两类actor: thread-bound actor和 event-driven actors。但0.9之后只留下了后者。
Actors能够共享一个相对较小的线程池。甚至可以有多个并发actors共享一个池中的线程。这样可以避免JVM中对线程数量的限制。

actor的基本使用方法:
发送消息
接收消息
发送回复
消息转发
无法投递的消息

使用方法的具体代码请参见原文:GPars(6):Actors概览
分享到:
评论

相关推荐

    Groovy的并行处理框架GPars.zip

    是为Groovy提供的一款开源并行类库,给我们提供了多种高级抽象,包括:map/reduce、fork/join、asynchronous closures、actors、agents、dataflow concurrency及其它概念。这样用Groovy编写并行程序就方便多了。 ...

    gpars:https的只读镜像

    主分支: | jdk8 分支: Snap-CI: | : Codeship: | jdk8 分支:介绍GPars 框架 ( ) 为 Java 开发人员提供了同时处理 Java 或 Groovy 任务的直观且安全的方法。 利用 Groovy 编程语言的巨大灵活性并以成熟的 Java ...

    idea-grails-toolls整包jar资源

    gpars-1.2.1.jar groovy-2.4.5jar groovy-ant-2.4.5.jar groovy-bsf-2.4.5jar groovy-console-2.4.5.jar groovy-docgenerator-2.4.5.jar groovy-groovydoc-2.4.5.jar groovy-groovysh-2.4.5.jar groovy-jmx-2.4.5....

    VSphere2Metrics:与Graphite和InfluxDB集成的VMware vSphere性能指标

    这个项目基于Groovy编程语言,利用了GPars库来实现多线程处理,从而提高数据采集效率。 1. **VMware vSphere**:vSphere是VMware公司提供的一个企业级虚拟化平台,它允许在物理服务器上创建和管理多个虚拟机。...

    Learning Groovy(Apress,2016)

    tart building powerful apps ... GPars, the built-in concurrency library Gradle, the build system Grails, the web application framework Spock, the testing framework Ratpack, the reactive web library

    groovy in action

    8. **GPars并行处理**:Groovy的GPars库提供了强大的并发和并行处理工具,使得利用多核处理器变得简单。 9. **Apache Groovy**:作为Apache软件基金会的顶级项目,Groovy有强大的社区支持和持续的开发更新,确保其...

    GDuplicate-Finder:GDuplicate Finder-一种在您的计算机和网络共享之间查找重复项的Groovy方法!

    利用Groovy设施和GPars的强大功能来并行处理,GDuplicateFinder将帮助您摆脱那些一直希望以简单友好的方式处理的重复项。 如果您想贡献代码,可以随时派发此 。 Gradle将帮助您为您配置Eclipse项目。 您也可以提出...

    Manning.Groovy.in.Action.Jan.2007

    7. **GPars并行处理**:Groovy的GPars库提供了强大的并发和并行处理能力,可以利用多核处理器的优势,提升程序性能。 8. **构建工具**:Groovy的Gradle就是基于Groovy的构建工具,它的脚本语言特性使得构建配置更加...

    groovy-all

    6. **GPars (Groovy Parallel Systems)**: GPars是Groovy的并行和并发处理库,支持数据流和并发编程,利用多核处理器提高性能。 7. **Groovy JSON Support**: 内置的JSON处理能力,使得Groovy可以方便地解析和生成...

    Learning Groovy 3

    6. **GPars并行处理**:Groovy 3提供了GPars库,用于并发和并行处理,它简化了多线程编程,使得开发者可以利用多核处理器的性能优势。 7. **领域特定语言(DSL)**:Groovy的简洁语法使得它非常适合创建领域特定...

    Groovy入门经典

    8. **GPars并行处理库**:Groovy提供GPars库,用于实现并发和并行处理,支持函数式编程风格,让多核处理器的优势得以发挥。 9. **AST转换**:Groovy允许在编译时进行抽象语法树(AST)转换,通过这种方式可以自定义...

    Groovy_in_Action

    - GPars库提供了一套强大的工具来处理并发和并行计算,利用多核处理器提升性能。 10. **Grails(Web开发框架)**: - Grails是基于Groovy的全栈式Web开发框架,提供了快速开发、插件系统和灵活的MVC架构。 11. *...

    groovy-binary-1.8.9.zip

    10. **GPars并行处理**:Groovy提供了GPars库,用于在多核处理器上实现并发和并行处理,简化了多线程编程。 在"groovy-1.8.9"这个压缩包中,通常会包含以下内容: - Groovy解释器和编译器:用于运行和编译Groovy...

    GDuplicateFinder:GDuplicateFinder - 一种免费的 Groovy 查找文件重复项的方法!-开源

    利用 Groovy 工具和 GPars 并行处理的能力,GDuplicateFinder 将帮助您以简单友好的方式摆脱那些您一直想要处理的重复项。 寻找翻译人员来翻译应用程序! 如果您愿意帮助我,请给我发送电子邮件至 guillermocampelo...

    GDuplicateFinder:GDuplicateFinder-查找文件重复项的免费Groovy方法!-开源

    利用Groovy设施和GPars的强大功能来并行处理,GDuplicateFinder将帮助您摆脱那些一直希望以简单友好的方式处理的重复项。 寻找翻译者来翻译应用程序! 如果您想帮助我,请给我发送电子邮件至guillermocampelo@gmail...

    欧洲选择

    10. **GPars并行处理库**:Groovy提供了GPars库,用于编写高效的多线程和并发代码,利用多核处理器的能力。 在"欧洲选择"项目中,可能使用Groovy进行了一些自动化任务、脚本编写或是数据处理。文件名“euroopt-...

    groovy-all-1.8.1.jar.zip

    随着Groovy的更新迭代,后续版本提供了更多特性,如GroovyShell、GroovyScriptEngine等,用于运行和解释Groovy脚本,以及 Grape(依赖管理) 和 GPars(并行和并发处理库)等实用工具。 在实际开发中,Groovy常用于...

Global site tag (gtag.js) - Google Analytics