Callable接口

Posted hpdblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Callable接口相关的知识,希望对你有一定的参考价值。

Callable与Runnable的不同区别在于:

1、Callable有返回值 Runnable没有返回值

2、Callable需要实现的方法是call方法       Runnable需要实现的方法是run方法

3、Callable的call方法会抛异常       Runnable的run方法不会抛异常

Callable与Runnable的相同在于: 都是函数式接口

 

Callable 通过FutureTask与runnable建立了关系 

使用方式:

public class Test03 {

public static void main(String[] args) throws ExecutionException, InterruptedException {
FutureTask futureTask = new FutureTask<Integer>(new MyThread());

new Thread(futureTask,"测试").start();

System.out.println(futureTask.get());
}
}
class MyThread implements Callable<Integer> {

@Override
public Integer call() throws Exception {
System.out.println(Thread.currentThread().getName()+" --callable");
return 200;
}
}


结果:

  测试 --callable
  200

 

以上是关于Callable接口的主要内容,如果未能解决你的问题,请参考以下文章

Java Callable接口——有返回值的线程

十获取异步线程返回值Callable

Callable接口

Callable 和 Future接口 学习

5JUC--实现 Callable 接口

从源码角度详解Java的Callable接口