`
xiefeifeihu
  • 浏览: 97297 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Akka2使用探索3(Duration 和 Deadline)

阅读更多

akka提供了两个关于时长的数据类型:Duration 和 Deadline,比如5秒钟这种含义。

Duration.Inf表示无限,Duration.MinusInf表示负无限

Deadline, 表示一个绝对的时间点,意义是最终期限,并且支持通过计算当前时间到deadline之间的差距来生成Duration

下面是使用方法:

 

import akka.util.Duration
import java.util.concurrent.TimeUnit
import akka.util.FiniteDuration
import akka.util.Deadline
import akka.dispatch.Await
import akka.dispatch.Futures
import java.util.concurrent.Callable
import akka.dispatch.Future
import akka.actor.ActorSystem

class DurationTest extends GroovyTestCase {
    def testDurationUse() {
        println new FiniteDuration(5, TimeUnit.SECONDS)
        println Duration.create(5d, TimeUnit.SECONDS)
        println Duration.create(5, "second")
        println Duration.create(5L, "second")
        println()
        println Duration.parse("5second")
        println Duration.parse("5 second")
        println Duration.parse("5 seconds")
        println Duration.parse("5seconds")
        println()
        println Duration.Inf()
        println Duration.Zero()
        println Duration.MinusInf()

    }

    def testDeadline() {
        Deadline d = Duration.create(5, "second").fromNow()
        def future = Futures.future(new Callable<String>() {
            String call() {
                println "start...";
                sleep(1000 * 60);
                println("end...");
                return "sd";
            }
        }, ActorSystem.create("test").dispatcher())

        String result = (String) Await.result(Futures.future({println "start..."; sleep(1000 * 60); println("end..."); return "sd";} as Callable, ActorSystem.create("test").dispatcher()), d.timeLeft())
        sleep(1000 * 60)
    }

    def testDeadline2() {
        Future<String> f = Futures.future(new Callable<String>() {
            public String call() {
                return "Hello" + "World";
            }
        }, ActorSystem.create("test").dispatcher());
        String result = (String) Await.result(f, Duration.create(5, "second"));
        println result
    }
}

分享到:
评论

相关推荐

    akka-kryo-serialization, 基于Kryo的Akka序列化.zip

    akka-kryo-serialization, 基于Kryo的Akka序列化 akka-kryo-serialization-- Scala 和Akka基于kryo的序列化程序这个库为 Scala 和Akka提供定制的基于kryo的序列化程序。 它可以用于更高效的akka远程处理。它还可以...

    Akka Cookbook azw3

    Akka Cookbook 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Mastering Akka azw3

    Mastering Akka 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Learning Akka(PACKT,2015)

    Akka is a distributed computing toolkit that enables developers to build correct concurrent and distributed applications using Java and Scala with ease, applications that scale across servers and ...

    akka2.0使用方法

    just neet some points to download

    Akka 基础学习pdf中文文档

    如何使用 Akka 来构建具备高容错性、可以横向扩展的分布式网络应用程序。Akka 是一 个强大的工具集,提供了很多选项,可以对在本地机器上处理或网络远程机器上处理的 某项工作进行抽象封装,使之对开发者不可见。...

    akka_2.10-2.314

    akka_2.10

    AKKA 本质 《Akka Essentials》

    Akka Essentials,学习akka很好的一本书

    Akka入门与实践

    如何使用 Akka 来构建具备高容错性、可以横向扩展的分布式网络应用程序。Akka 是一 个强大的工具集,提供了很多选项,可以对在本地机器上处理或网络远程机器上处理的 某项工作进行抽象封装,使之对开发者不可见。...

    akka-http-rest, 在 akka http上使用灵活REST服务编写示例.zip

    akka-http-rest, 在 akka http上使用灵活REST服务编写示例 Akka平滑REST服务模板 例如展示如何使用Akka和Slick在Lightbend堆栈上创建反应性REST服务。示例包含实体交互的完整REST服务。插件功能:CRUD操作实体部分...

    akka实例参考

    初学akka使用实例,有很好的帮助啊,可实际运行

    Akka.in.Action.2016.9.pdf

    Akka in Action shows you how to build message-oriented systems with Akka. This comprehensive, hands-on tutorial introduces each concept with a working example. You’ll start with the big picture of ...

    akka java实现tcp远程调用

    akka实例 java实现tcp远程调用,一个服务端,一个客户端

    akka-quartz, 因为用Camel来安排Akka演员是愚蠢.zip

    akka-quartz, 因为用Camel来安排Akka演员是愚蠢 akka石英Akka调度程序有限,并且使用 Apache camel 运行计时器是愚蠢的。 特性石英调度程序Akka演员们Fin版本使用 Akka 2.1.x 在 Scala 2.10.x/2.11.x 上使用

    Learning Akka

    Learning Akka Learning Akka Learning AkkaLearning Akka

    akka入门和实践

    Akka 个 大的工具集, 了 ,可以 本 机 处理 程机 处理的 工 ,使 开发者 可 。本书将介绍 概念, 者理解 系统 的 处,并介绍如何使用 Akka 的解 方 来解 问题。

    Akka应用模式-分布式应用程序设计实践指南.pdf

    另外,本书介绍了 Actor 模型的一个实现框架 Akka 以及它的工具,而后讨论了在充分利用 actor 架构的基础上使用 Akka 框架来设计软件系统的方法,以及使用它来开发并发性和分布式应用程序的方怯。本书还介绍了领域 ...

    akka-actor-2.11-2.5.19-API文档-中文版.zip

    赠送jar包:akka-actor_2.11-2.5.19.jar; 赠送原API文档:akka-actor_2.11-2.5.19-javadoc.jar; 赠送源代码:akka-actor_2.11-2.5.19-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Akka 实战 akka in action v13 2014版本

    akka 实战。akka in action。v13 2014新版。 互联网技术入门必备 清晰,非扫描。

    akka scala分布式计算

    akka scala 实现求连续平方和,分布式计算,快速理解分布式计算原理!

Global site tag (gtag.js) - Google Analytics