ExecutorServiceのは、二つのオーバーロードされたメソッドIは、以下のコードを書くときにクラスRunnable
又はCallable
が作成されるインスタンスのうちラムダ式を渡すときにどのオーバーロードされたメソッドが呼び出されるかを定義する方法は?
ExecutorService.submit(Callable)
ExecutorService.submit(Runnable)
を有しています。ラムダ式を使用しながら、これはRunnable
のインスタンスである場合
executor.submit(()->System.out.println("Running in : " + Thread.currentThread().getName()));
は、どのように私はExecutorService
にCallable
またはその逆のインスタンスを渡すのですか?
文字列を出力する代わりに値を返す必要があります。返す必要があります。future.getを呼び出すスレッドから結果を出力する必要があります。 – matt
あなたが使用する方法を区別する別の方法は、カーストにあります。 http://ideone.com/LXmdsq – matt