8

scala中管理对象池的首选方式是什么?

我需要创建和删除大规模的单线程对象(不需要同步)。在 c++ 中,我使用了静态对象数组。

在scala中处理它的惯用且有效的方法是什么?

4

1 回答 1

5

我会把它包装在一个演员中。如果您不熟悉,请查看 Akka:http ://doc.akka.io/docs/akka/2.0.3/scala/actors.html

这是一个很好的例子:https ://github.com/derekjw/fyrie-redis/blob/master/src/main/scala/net/fyrie/redis/ConnectionPool.scala

Actor 模型允许您保证单线程访问,因为 Actor 一次处理一个传入消息。这导致actor内部的代码非常简单,API也非常简单。

于 2012-09-25T06:30:12.167 回答