易百教程

297、Java 中的 Callable 和 Future 是什么?

Java Callable 接口:在 Java5 中,可调用接口由 java.util.concurrent 包提供。它类似于 Runnable 接口,但它可以返回结果,并且可以抛出异常。它还提供了用于执行线程的 run() 方法。Java Callable 可以返回任何使用 Generic 的对象。

语法:

public interface Callable<V>

Java Future 接口:Java Future 接口给出并发进程的结果。Callable 接口返回 java.util.concurrent.Future 的对象。

Java Future 提供了以下实现方法:

  • cancel(boolean mayInterruptIfRunning):用于取消分配任务的执行。
  • get():等待执行未完成的时间,然后取回结果。
  • isCancelled():它返回布尔值,因为如果任务在完成之前被取消,则返回 true
  • isDone():如果作业成功完成则返回 true,否则返回 false