我对 Akka 很陌生,我有一个(希望)简单的问题。我有一个 Actor 需要重复执行某个小子任务 - 也就是说,每次该 Actor 收到一条消息时,它都必须执行 N 个子任务。这个子任务是我指定给儿童演员的。我的问题是,我应该为每个子任务创建一个新的子演员实例吗?或者我应该简单地生成一个子演员,并向其发送 N 条消息?在这种情况下,最佳做法是什么?
为了更好地说明我的问题,这里有两个简单的示例(在 Java 中 - 但希望对 Scala 人员来说足够简单!):
第一个 actor 类在构造时创建一个子 actor,然后向该单个子 actor 发送许多消息。
public class ParentActor extends UntypedActor {
private final ActorRef childActor;
public ParentActor() {
this.childActor = getContext().actorOf(Props.create(childActor.class));
}
@Override
public void onReceive(Object msg) {
for (int i=0; i<1000; i++) {
this.childActor.tell("Some message", getSelf());
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,将其与以下 Actor 进行比较,后者为每条需要发送的消息生成一个新的子 Actor。
public class ParentActor extends UntypedActor {
@Override
public void onReceive(Object msg) {
for (int i=0; …Run Code Online (Sandbox Code Playgroud) 我最近写了一个简单的通用选择排序方法来获得它的乐趣,当我对某些东西感到有些困惑时.这是我的代码:
public static <T extends Comparable<T>> void sort(List<T> list) {
for (int i = 0; i < list.size(); i++) {
int minIndex = i; // Assume that the first element is the minimum for now.
// Find smallest element in unsorted sub-list.
for (int k = i + 1; k < list.size(); k++) {
if (list.get(k).compareTo(list.get(minIndex)) < 0) {
minIndex = k;
}
}
// Swap smallest element with the first element in unsorted sub-list.
T temp = list.get(i);
list.set(i, …Run Code Online (Sandbox Code Playgroud)