Runnable和Callable的区别?
时间: 2023-06-10 19:05:30 浏览: 89
【并发编程】 — Runnable、Callable、Future和FutureTask之间的关系
5星 · 资源好评率100%
Runnable和Callable都是Java中用于多线程编程的接口。
Runnable是一个函数式接口,其中只有一个run()方法,用于定义线程要执行的任务。
Callable也是一个函数式接口,其中只有一个call()方法,用于定义线程要执行的任务,并且可以返回结果。
所以,Runnable只能执行任务,而Callable既能执行任务,还能返回结果。
在使用时,可以通过将Runnable实例传递给Thread构造函数来创建一个新线程,而Callable通常要与Executor框架一起使用。
总之,Runnable适用于没有返回值的情况,Callable适用于需要返回值的情况。
阅读全文