问题标签 [actor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 不同的 Scala Actor 实现概述
我正在尝试找到“正确”的演员实现。我意识到有一堆,选择一个有点令人困惑。就我个人而言,我对远程演员特别感兴趣,但我想完整的概述会对许多其他人有所帮助。这是一个非常笼统的问题,因此请随意回答您所了解的实现。
我知道以下 Scala Actor 实现 (SAI)。请补充缺少的。
- Scala 2.7(区别于)
- 斯卡拉 2.8
- 阿卡(http://www.akkasource.org/)
- 电梯(http://liftweb.net/)
斯卡拉兹 ( http://code.google.com/p/scalaz/ )
这些 SAI(轻量级与“重型”企业框架)的目标用例是什么?
- 他们支持远程演员吗?远程参与者在 SAI 中有哪些缺点?
- 他们的表现如何?
- 社区有多活跃?
- 他们上手有多容易?文档有多好?
- 它们有多容易扩展?
- 它们有多稳定?哪些项目正在使用它们?
- 他们的缺点是什么?
- 他们的设计原则是什么?
- 它们是基于线程还是基于事件(接收/反应)或两者兼而有之?
- 嵌套接收
- 热交换 Actor 的消息循环
scala - 在actor中实现超时
我是 scala 和演员的新手。我需要实现这样的假设情况:服务器等待消息,如果在 10 秒内没有收到任何消息,它会向客户端发送消息。否则它会收到传入的消息。如果它在内部处理一些消息并且另一个消息来了,它需要排队(我想这是由 scala 演员自动完成的)。
我遇到的第二个问题是睡眠。我需要演员在收到消息时保持一段时间的睡眠。但另一方面,我无法阻止,因为我希望传入消息排队等待进一步处理。
.net - Scala.net 中的演员
我最近完成了对 erlang 的一些研究,并且对 scala 的特性集和使用 java(可能还有 .net)应用程序进行插值的易用性很感兴趣。我终于开始研究演员了,想知道目前在 .net 中是否有演员机制。
我查看了与 sbaz 一起出现的库,发现有一个 scala.Concurrent 但没有 scala.actors.Actor。我尝试使用 scala.Concurrent.Channel 但无法使用!发送消息。
我只是想知道这是否是当前可用的东西,如果是这样,您将如何进行设置。
scala - scala演员消息定义
我是否需要为要在 scala 演员上检索的消息定义类?
我试图解决这个问题我错在哪里
message - 演员编程中的消息是什么?
这个问题描述了演员编程中的演员。什么是消息?如果在消息中发送对象(假设对象存在于 actor 编程中),如何避免共享状态?
c# - 将消息传递给演员时,如何解决我的“对象引用”问题?
不久前,我整理了一个名为的简单类Actor
,它是我对Actor Model的实现。从那以后,我使用它取得了巨大的成功(减去一些因缺乏可区分的联合类型而导致的烦人的解决方法。)。我有一个问题,我不确定如何在不让课堂变得笨拙和缓慢的情况下解决。
当某人定义消息时,他们当然有权包含对调用者自己可以操作的对象的引用。即使知道我几乎是唯一使用这个类的人,这仍然困扰着我。
解决这个问题的一个很好的例子是在 Firefox 中实现的Web Workers 。将对象传递给工作人员时,它会被序列化为 JSON。
有任何想法吗?
unit-testing - 等待一个 Actor 退出()
如何等待 Scala Actor 退出()?我在一个单元测试中设置了两个 Actor,并发送了一些消息让它们开始。他们来回发送一些消息,最终都调用exit()。如何让我的单元测试在通过之前等待两个 Actor 完成?
memory - 演员邮箱溢出。斯卡拉
我目前正在与 scala 中的两个演员一起工作。一,生产者,生产一些数据并将其发送到一个parcer。生产者HashMap[String,HashMap[Object,List[Int]]]
通过一条消息发送一个(连同这个来标记发送者):
解析器一直在等待这样的消息:
该程序在正常情况下完美运行。问题来自大量数据和发送的许多消息(散列大约有 10^4 个元素,内部散列大约有 100 个元素,列表长度为 100),程序崩溃。它没有显示错误或异常。它只是停止。
问题似乎是我的生产者比解析器工作得快得多(目前我不想要一个以上的解析器)。
阅读scala 邮箱大小限制后,我想知道我的解析器邮箱是否达到了它的限制。该帖子还提供了一些解决方案,但我首先需要确保这是问题所在。我该如何测试呢?
有没有办法知道演员的内存限制?如何读取邮箱中的已用/空闲内存?
也欢迎任何未在该链接中发布的工作流程建议 。
谢谢,
scala - 是否有特定于 Scala 的方式来实现定期执行?
AKA 以设定的时间间隔做某事。
例如,假设我想每 60 秒扫描一次某个目录。
在Java中,我会使用ScheduledExecutorService
这样的:
这很好用。
问题是,我想我想尝试在我的程序中使用 Scala 演员,但是对于如何将演员和 Java 执行器结合起来,或者它们是否应该结合起来,我有点困惑。
我想也许我可以有一个简单的跑步者,它只会每N秒向演员发送一条消息——这有意义吗?