问题标签 [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中的另一个线程上执行一个简单的任务
我想知道是否有一种方法可以在没有太多开销的 scala 中的另一个线程上执行非常简单的任务?
基本上我想制作一个可以处理执行任意数量的任务的全局“执行器”。然后我可以使用 executor 来构建额外的结构。
此外,如果客户端不必考虑阻塞或非阻塞因素,那就太好了。
我知道 scala 演员库是建立在 Doug Lea FJ 的东西之上的,而且他们在有限的程度上支持我想要完成的事情。但是,据我了解,我将不得不预先分配一个“演员池”来完成。
我想避免为此创建一个全局线程池,因为据我了解,它在细粒度并行性方面并不是那么好。
这是一个简单的例子:
现在是使用 exec 的示例:
最后运行示例(可能需要执行几次,以便 HotSpot 可以预热):
security - Scala 远程 Actor 安全性
什么是(或一种)推荐的方式来实现 Scala 远程参与者的安全性(对允许与该参与者交谈的远程节点进行身份验证,以及对讨论内容进行加密)?有没有人这样做过;效果如何?
SSL...
一些Java库...
一些JSR ...
自定义序列化...
只有VPN可以解决这个问题......
???
sockets - 如何控制 Scala 远程演员的 TCP_NODELAY 设置?
我正在使用 Scala 的远程参与者,但往返时间(即使是一条微不足道的消息)是 80 毫秒,可能是由于底层套接字没有禁用 TCP/IP Nagle 算法(也称为 TCP_NODELAY),或者至少有人这样做有一些 Java RMI 经验的人告诉我。
我在客户端中为获取到远程参与者的链接所做的一切就是
有什么方法可以获取底层套接字并调用java.net.Socket.setTcpNoDelay()
它吗?
scala - Scala 演员 - 最糟糕的做法?
我对在 Scala 中使用演员感到有点不安全。我已经阅读了有关如何做事的文档,但我想我还需要一些 DON'T 规则才能随意使用它们。我想我害怕我会以错误的方式使用它们,我什至不会注意到它。
你能想到一些东西,如果应用的话,会导致破坏 Scala 演员带来的好处,甚至是错误的结果?
scala - 在 Scala Actor 中进行空闲处理的最简单方法是什么?
我有一个 scala 演员,只要客户请求它,它就会做一些工作。当且仅当没有客户端处于活动状态时,我希望 Actor 进行一些后台处理。
最简单的方法是什么?我可以想到两种方法:
生成一个超时的新线程并定期唤醒actor。一种直接的方法,但我想避免创建另一个线程(以避免额外的代码、复杂性和开销)。
Actor 类有一个 reactWithin 方法,可用于从 Actor 本身超时。但是文档说该方法不会返回。所以,我不确定如何使用它。
编辑; 澄清:
假设后台任务可以分解成可以独立处理的更小的单元。
scala - 如何为actor指定线程池
我有一个使用全局线程池的现有 java/scala 应用程序。我想开始在项目中使用演员,但希望应用程序中的所有内容都使用同一个池。
我知道我可以设置参与者使用的最大线程数,但更愿意共享线程池。这是否必要/合理,是否可以指定参与者的线程池?
如果不可能/不推荐,在已经使用线程的应用程序中集成参与者时是否有任何经验法则?
谢谢。
scala - Singleton Scala 演员?
简单的问题。我可以这样做:
还是演员必须是具有实例的类?
scala - 用于向 Scala Actors 发送消息的符号或案例类?
在 Scala Actor 示例中,我看到了将无参数消息发送给 Actor(例如this)的位置,创建了case class
es(或case object
s),然后将其用作消息。符号也可以工作,看起来更整洁,并且在阅读了一本关于 Erlang 的书之后,看起来更自然。我假设符号平等适用于远程参与者。
对于带有参数的消息,案例类将是显而易见的选择,所以消息类型之间的一致性可能是一个问题?
有任何理由采用这两种方法吗?
scala - 在 Scala 演员中访问共享资源的正确方法
在 Java 中,可以同步访问多线程环境中所需的共享资源的方法或块。
我想知道这样做的“Scala Actors”方式是如何工作的。
假设我有一个java.sql.Connection
我希望提供线程安全访问的对象连接池。我将它实现为一个接收消息并向发送者发送回连接的参与者。
似乎有三种方法可以做到这一点:
- 使用未来
- 利用
!?
- 有需要
Connection
也是演员的班级
代码:
未来版本似乎最干净,除了我可以永远阻止的事实。
有什么想法,或者我对此的整个概念是错误的吗?
scala - 垃圾收集 scala 演员
场景:我有这个代码:
MyActor 实例是否被垃圾收集?如果不是,我如何确保它是?如果我创建了一个临时演员(使用“演员”方法),那个演员是 GCed 吗?