两者最大的区别就是:实现Callable接口的任务线程能返回执行结果,而实现Runnable接口的任务线程不能返回结果。Callable接口的call方法允许抛出异常,而Runnable接口的run方法的异常只能在内部消化,不能往上抛