gpt4 book ai didi

java - Akka/futures——Akka 是否使用当前线程或调度程序来决定它是 "worth"?

转载 作者:行者123 更新时间:2023-11-30 09:45:49 26 4
gpt4 key购买 nike

我目前正在考虑使用 Akka(Java API/库)来完成创建多个 Future 的任务。 s 并将它们放入 BlockingQueue .现在可能是由 Callables 处理的一些任务在调用线程中运行得更快/更快,而不是创建新线程或等待新线程可用。我认为 Akka 正是这样做的,例如,如果我正在运行:

Future<String> f1 = future(new Callable<String>() {
public String call() {
return "Hello" + "World";
}
});

它可能在调用 future(Callable) 的当前线程中执行,还是我错了?也许我错了,因为我不明白调度程序将如何决定是否创建新线程。

现在我只是在使用一个使用其他线程的 ExecutorService,但由于某些任务确实非常快,它们也可以由当前线程处理。但我使用的是 BlockingQueue<Future<Float>>这就是为什么我有时不能使用 Future 的原因s,有时不是。

最好的问候,
约翰内斯

最佳答案

它总是使用提供的调度程序中的线程,如果没有指定,则使用全局默认值。要使用同一个线程,您需要传入一个 CallingThreadDispatcher,但它始终是同步的。除了程序员之外,任何人都无法决定计算是否便宜。

关于java - Akka/futures——Akka 是否使用当前线程或调度程序来决定它是 "worth"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7439143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com