現在、Akka (Java API/ライブラリ) を使用して、複数Future
の を作成し、BlockingQueue
. Callables によって処理される一部のタスクは、新しい Thread を作成したり、新しい Thread が使用可能になるのを待ったりする代わりに、呼び出しスレッドで実行する方が高速である可能性があります。たとえば、実行している場合、Akkaはまさにこれを行っていると思います:
Future<String> f1 = future(new Callable<String>() {
public String call() {
return "Hello" + "World";
}
});
future(Callable) を呼び出す現在のスレッドで実行される可能性がありますか、それとも間違っていますか? 新しいスレッドが作成されたかどうかをディスパッチャーがどのように判断するかがわからないため、間違っている可能性があります。
現在、私は他のスレッドを使用する ExecutorService を使用していますが、一部のタスクは非常に高速であるため、現在のスレッドで処理することもできます。しかし、私は a を使用してBlockingQueue<Future<Float>>
いるため、 s を使用できない場合と使用できない場合がありますFuture
。
よろしく、
ヨハネス