要調(diào)用Java Callable接口,可以使用ExecutorService類的submit()方法來提交Callable對象,并返回一個Future對象。
以下是一個簡單的示例代碼:
import java.util.concurrent.*;
public class CallableExample {
public static void main(String[] args) throws ExecutionException, InterruptedException {
// 創(chuàng)建一個ExecutorService對象
ExecutorService executorService = Executors.newSingleThreadExecutor();
// 創(chuàng)建一個Callable對象
Callable<Integer> callable = () -> {
// 執(zhí)行一些耗時的操作
Thread.sleep(2000);
// 返回結(jié)果
return 42;
};
// 提交Callable對象,并返回一個Future對象
Future<Integer> future = executorService.submit(callable);
// 可以在這里執(zhí)行其他操作
// 獲取Callable的執(zhí)行結(jié)果
Integer result = future.get();
System.out.println("結(jié)果:" + result);
// 關(guān)閉ExecutorService
executorService.shutdown();
}
}
在上述代碼中,我們首先創(chuàng)建一個ExecutorService對象,然后創(chuàng)建一個Callable對象。接下來,我們使用submit()方法將Callable對象提交給ExecutorService,并返回一個Future對象。然后,我們可以在此期間執(zhí)行其他操作。最后,我們使用get()方法獲取Callable的執(zhí)行結(jié)果,并關(guān)閉ExecutorService。