runnable 和 callable 有什么区别
时间: 2023-04-22 15:00:35 浏览: 97
【并发编程】 — Runnable、Callable、Future和FutureTask之间的关系
5星 · 资源好评率100%
runnable 和 callable 都是 Java 中用于多线程编程的接口,但它们有一些区别。
Runnable 接口只有一个 run() 方法,该方法没有返回值。它用于定义一个可以在另一个线程中运行的任务。当一个线程调用了 Runnable 对象的 run() 方法时,该方法会在当前线程中执行。
Callable 接口也只有一个方法,但它有返回值。它用于定义一个可以在另一个线程中运行的任务,并返回一个结果。当一个线程调用了 Callable 对象的 call() 方法时,该方法会在当前线程中执行,并返回一个结果。
因此,Runnable 接口适用于不需要返回结果的任务,而 Callable 接口适用于需要返回结果的任务。
阅读全文