32 lines
1017 B
Java
32 lines
1017 B
Java
|
package bunny.async;
|
||
|
|
||
|
import java.util.concurrent.ExecutorService;
|
||
|
import java.util.concurrent.Executors;
|
||
|
import java.util.concurrent.Future;
|
||
|
|
||
|
public class FutureTest {
|
||
|
public static void main(String[] args) throws Exception {
|
||
|
try (ExecutorService executorService = Executors.newSingleThreadExecutor()) {
|
||
|
Future<Integer> future = executorService.submit(() -> {
|
||
|
// 模拟一个耗时的计算任务
|
||
|
Thread.sleep(1000);
|
||
|
return 42;
|
||
|
});
|
||
|
|
||
|
// 检查任务是否完成
|
||
|
if (future.isDone()) {
|
||
|
// 等待任务执行完成并获取结果
|
||
|
Integer result = future.get();
|
||
|
System.out.println("任务结果: " + result);
|
||
|
} else {
|
||
|
System.out.println("任务尚未完成");
|
||
|
}
|
||
|
|
||
|
Integer result = future.get();
|
||
|
System.out.println("任务结果: " + result);
|
||
|
|
||
|
executorService.shutdown();
|
||
|
}
|
||
|
}
|
||
|
}
|