ScheduledExecutorService 任务执行获取返回结果
时间: 2024-05-01 21:15:37 浏览: 218
ScheduledExecutorService是Java中的一个接口,它是ExecutorService的子接口,用于在指定的时间间隔内执行任务。它可以用来执行定时任务、周期性任务以及延迟任务。
要获取ScheduledExecutorService任务的返回结果,可以使用Future接口。Future接口表示一个异步计算的结果,可以通过它来获取任务的执行结果。
首先,我们需要使用ScheduledExecutorService的submit方法来提交任务,并将返回的Future对象保存起来。然后,可以使用Future对象的get方法来获取任务的返回结果。get方法是一个阻塞方法,会一直等待任务执行完成并返回结果。
下面是一个示例代码:
```java
import java.util.concurrent.*;
public class ScheduledExecutorServiceExample {
public static void main(String[] args) throws InterruptedException, ExecutionException {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
// 提交任务并获取Future对象
Future<String> future = executor.schedule(() -> {
// 任务逻辑
return "Hello, World!";
}, 1, TimeUnit.SECONDS);
// 获取任务的返回结果
String result = future.get();
System.out.println(result);
executor.shutdown();
}
}
```
在上面的示例中,我们创建了一个ScheduledExecutorService对象,并使用schedule方法提交了一个任务。该任务会在1秒后执行,并返回字符串"Hello, World!"。然后,我们使用Future对象的get方法获取任务的返回结果,并打印输出。
阅读全文