多线程中Callable和Runnable的对比
首先创建多线程的四种方式:
Java多线程回顾总结-CSDN博客
1、Thread 继承
2、实现Runnable 接口
3、Callable 接口
4、使用线程池
Callable和Runnable的对比:
1)是否有返回值
Runnable没有返回值
Callable有返回值,使用ExecutorServerice提交Callable任务,并得到一个Future<T>对象,其中T是Callable任务的返回类型
2)是否抛异常
Runnable接口实现类的run方法异常必须在内部处理,不能抛出
Callable接口实现类的run方法允许异常向上抛出
3)落地方法不一样,一个是run,一个是call