4

メインスレッドから:

executorService.submit(new Runnable() { ... });

Runnable の実行が終了したとき、新しいインターフェイス/リスナー クラスを作成せずに、実行が終了したことを呼び出し元スレッドに通知する Java の標準的な方法はありますか?

呼び出し元スレッドからシグナルを発信できる場合はボーナス ポイント。

4

3 に答える 3

4

submitFutureサブミット スレッドがgetタスクが完了するまでブロックするために呼び出すことができる を返します。

Future<?> future = executor.submit(new Runnable() { ... });
future.get();
于 2012-05-22T23:00:09.200 に答える
3

返された Future オブジェクトの get() でブロックするか、それに対して isDone() メソッドをポーリングできます。または、 ListenableFutureを持つ google guava ライブラリを使用することもできます。

于 2012-05-22T23:01:21.683 に答える
0

実装と同時に実行されるスレッドの数がわからないため、これが機能しない可能性があります。確認できることの1つは、必要なUIコンポーネントを更新する方法を知っているメソッドを呼び出すことによって、実行可能自体が完了したことを通知することです。

于 2012-05-28T21:27:26.880 に答える