9得票2回答
Rx应该在哪些场景下使用?

我正在考虑在我的工作场所引入Rx,但是我了解得越多,就越认为它并没有真正给你带来优势。 我们有很多服务器应用程序,在一端接收输入数据,在另一端输出数据。这非常适合使用Actor模型和“无限”线程可扩展性,到目前为止,我使用ConcurrentQueues实现消息传递,我认为Rx可能是一个更好...

10得票2回答
如何在F# Akka.NET Actor中存储状态?

在 F# API 中该如何用一种惯用的方式来处理状态,使其成为类中的私有字段?与 C# 的 ReceiveActor 不同。 这是否是一个好主意?还有其他选择吗?let handleMessage (mailbox: Actor<'a>) msg = let mutabl...

16得票4回答
睡眠中的演员?

什么是让演员休眠的最佳方法?我将演员设置为代理,他们希望维护数据库的不同部分(包括从外部来源获取数据)。出于许多原因(包括不过载数据库或通信以及一般负载问题),我希望演员在每个操作之间休眠。我正在查看类似于10个演员对象的东西。 这些演员将无限运行,因为总会有新数据进入,或者在表中等待传播到...

12得票5回答
Scala演员单元测试

有人知道如何对Scala actors进行单元测试的好方法吗?从一般的角度来看,我有一个接收消息并将响应消息发送出去的actor。这是在多个线程上完成的,而不正确的actor可能会发送错误的消息或根本不发送消息。我需要一种简单的方式创建一个模拟actor,向被测试的actor发送和接收消息。有...

9得票3回答
Scala演员应用程序的奇怪垃圾收集行为

我有一个应用程序,使用了相当多的演员:确切地说,25,000个。它使用Scala 2.7.7,并在jdk6_u18上运行。它基本上监听和处理市场数据,并且几乎没有状态。 它每天早上8:02启动,在一个小时内就会因为OutOfMemoryError而崩溃。 "啊哈"你说,"你有一个内存泄漏!"...

110得票5回答
Scala演员:接收 vs 反应

首先我要说一下我有相当丰富的Java经验,但最近才对函数式语言感兴趣。最近我开始接触Scala,这似乎是一种非常好的语言。 然而,我在Programming in Scala中阅读了关于Scala Actor框架的一些内容,有一件事情我不太明白。在第30.4章中,它说使用react而不是re...

16得票3回答
什么是使用actors可以并行处理的最小工作单元?

虽然Scala actor被描述为轻量级,而Akka actor更是如此,但使用它们肯定会有一些开销。因此,我的问题是,什么是值得使用Actor并行处理的最小工作单元(假设它可以并行处理)?只有在存在潜在延迟或有很多重计算的情况下才值得这样做吗? 我正在寻找一个通用的经验法则,可以轻松应用于...

11得票3回答
Akka远程Actor服务器发现

我希望在一个集群上部署使用akka框架开发的远程actors软件。系统由多个工作节点和一个主节点组成。问题在于我无法预先知道集群节点的IP地址(但我知道它们都是同一子网络的一部分)。因此,我需要一种好的方式来在启动后发现每个节点的IP地址,以在每个节点上创建正确的actor refs。 我正...

15得票1回答
Akka/Scala:映射Future vs pipeTo

在Akka actors中,将Future结果发送给另一个actor时,通过以下方式是否存在线程数或线程锁定方面的差异: A. 将Future映射到函数,该函数将结果告诉actor。 B. 在future上定义onSuccess回调,将结果告诉actor。 C. 使用pipeTo将Fut...

7得票2回答
使用循环替代scala actors中的while(true)会发生什么?

使用循环与使用while(true)时,使用actors接收消息有什么区别?循环似乎更快,但是为什么?底层发生了什么? 使用循环代替while(true)是否有什么不好的影响? 更多背景信息:我正在对简单的ping/pong代码进行性能测试。我正在使用receive。 这是Ping类: ...