CompletableFuture.thenrun
时间: 2023-10-13 12:21:16 浏览: 119
CompletableFuture的thenRun()方法是一个回调函数,它接收一个Runnable对象作为参数,并在CompletableFuture完成执行后执行该Runnable对象。该方法不会接收前一个CompletableFuture的执行结果作为参数,因为它只是用来执行一些副作用操作或清理操作,而不是处理计算结果。
例如,下面的代码演示了如何使用thenRun()方法来注册一个回调函数,在异步任务执行完成后执行该回调函数:
```
CompletableFuture.runAsync(() -> {
// 执行异步任务
System.out.println("Async task executed.");
}).thenRun(() -> {
// 异步任务执行完成后,执行回调函数
System.out.println("Async task completed.");
});
```
在上面的代码中,我们使用CompletableFuture.runAsync方法来执行一个异步任务,该任务只是在控制台上输出一条信息。然后,我们使用thenRun()方法来注册一个回调函数,在异步任务执行完成后执行该回调函数。在这个例子中,我们只是在控制台上输出一条信息"Async task completed.",表示异步任务已经完成。
需要注意的是,thenRun()方法是一个无参数的函数,它不会接收异步任务的执行结果作为参数,因此它只适用于那些不需要处理计算结果的情况。如果我们需要处理异步任务的计算结果,就需要使用其它的方法,如thenApply()、thenAccept()等。
阅读全文