Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使用 Scala Actor 框架进行包含大约 10.000 个代理(机器和产品代理)的多代理模拟。
据我了解,如果有很多参与者传递消息,它会由于递归而耗尽堆栈吗?
如果是这样,我怎样才能增加底层工作线程的堆栈大小?
Actor 框架被设计来处理这个问题——事实上,它可以只用一个线程来处理这个问题,假设您使用loop-react如下模式:
loop-react
import actors._ import actors.Actor._ val a = actor { loop { react { case ABC => //Handle here } } }
在Programming in Scala的第 590-593 页上对此进行了更详细的讨论:基本上该react方法永远不会正常返回(它以异常终止),因此不需要保留其调用堆栈。您可以将其视为永远循环。
react