ChatGPT api 生成一段future 样例代码还挺方便
Topic source// 用java 编写 一段 Future 对象的代码
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class FutureExample {
public static void main(String[] args) throws InterruptedException, ExecutionException {
ExecutorService executorService = Executors.newSingleThreadExecutor();
Callable<String> callable = () -> {
// Perform some computation
System.out.println("Entered Callable");
Thread.sleep(2000);
return "Hello from Callable";
};
System.out.println("Submitting Callable");
Future<String> future = executorService.submit(callable);
// This line executes immediately
System.out.println("Do something else while callable is getting executed");
System.out.println("Retrieve the result of the future");
// Future.get() blocks until the result is available
String result = future.get();
System.out.println(result);
executorService.shutdown();
}
}
- 1
Junes_99994
// 用java 编写 一段 Future 对象的代码
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
public class FutureTest {
public static void main(String[] args) {
//实现Callable接口
Callable<String> callable = new Callable<String>() {
@Override
public String call() throws Exception {
//进行一些耗时的操作
System.out.println("正在进行耗时操作...");
Thread.sleep(3000);
return "结果";
}
};
//创建FutureTask
FutureTask<String> futureTask = new FutureTask<>(callable);
//开启线程
new Thread(futureTask).start();
//一些其他耗时的操作
try {
System.out.println("正在进行其他耗时操作...");
Thread.sleep(1000);
//获取结果
String result = futureTask.get();
System.out.println("获取到结果:" + result);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}