2

現在、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

よろしく、
ヨハネス

4

1 に答える 1