5

API はかなり威圧的で、多くのCompletableFuture受け入れ、そしてその他のものです。さまざまなオプションが存在する理由を説明するのは困難です。

CompletableFuture<?> future = CompletableFuture.supplyAsync(() ->..., executor)

future.startNonBlocking...( (...) -> { callback behavior done when complete }

私は基本的に a を模倣しようとしてnew Thread(() -> dostuff).start()いますが、より優れたスレッド プーリング、エラー処理などを使用しています。注: 実際にはRunnableここでインターフェイスは必要ありません。既存のコードの一部を生成しています。

非同期タスクを開始し、完了時に動作を実行する正しい方法は何ですか? またはスローされた例外を処理しますか?

4

2 に答える 2

2
new Thread(() -> dostuff).start()

dostuffはRunnableを実装することを意味するため、使用できます

static CompletableFuture<Void> runAsync(Runnable runnable)    
static CompletableFuture<Void> runAsync(Runnable runnable, Executor executor)

また。

于 2016-05-04T07:07:02.420 に答える