Runnable和Callable的区别
Java多线程有两个重要的接口,Runnable和Callable,分别提供一个run方法和call方法,二者是有较大差异的。
1)Runnable提供run方法,无法通过throws抛出异常,所有CheckedException必须在run方法内部处理。
Callable提供call方法,直接抛出Exception异常。
2)Runnable的run方法无返回值,
Callable的call方法提供返回值用来表示任务运行的结果
3)Runnable可以作为Thread构造器的参数,通过开启新的线程来执行,也可以通过线程池来执行。
而Callable只能通过线程池执行。
4)Runnable接口中的落地方法是call方法;Callable接口中的落地方法是run方法
参考: https://blog.csdn.net/mryang125/article/details/81878168






