1.Callable有会返回,需要重写其中的call()方法,可以抛出异常;Runnable无返回值,需要重写其中的run()方法,无法抛出异常。 2.运行一个Callable任务可以得到一个Future对象,并且是异步执行。