要调用Java Callable接口,可以使用ExecutorService类的submit()方法来提交Callable对象,并返回一个Future对象。
以下是一个简单的示例代码:
import java.util.concurrent.*;
public class CallableExample {
public static void main(String[] args) throws ExecutionException, InterruptedException {
// 创建一个ExecutorService对象
ExecutorService executorService = Executors.newSingleThreadExecutor();
// 创建一个Callable对象
Callable<Integer> callable = () -> {
// 执行一些耗时的操作
Thread.sleep(2000);
// 返回结果
return 42;
};
// 提交Callable对象,并返回一个Future对象
Future<Integer> future = executorService.submit(callable);
// 可以在这里执行其他操作
// 获取Callable的执行结果
Integer result = future.get();
System.out.println("结果:" + result);
// 关闭ExecutorService
executorService.shutdown();
}
}
在上述代码中,我们首先创建一个ExecutorService对象,然后创建一个Callable对象。接下来,我们使用submit()方法将Callable对象提交给ExecutorService,并返回一个Future对象。然后,我们可以在此期间执行其他操作。最后,我们使用get()方法获取Callable的执行结果,并关闭ExecutorService。