这道题目是在讲解多线程的时候,顺带问到的。 1.执行方法名称不同 Runnable的执行方法是run(),而Callable的执行方法是call() 2.有无返回值 Runnable的run方法是没有返回值的,而Callable的call方法是可以有返回值。 3.有无泛型 Runnable是没有携带泛型的,而Callable是可以携带泛型的 如:public class CallableThread implements Callable{} 4.开始的版本不一样 Runnable是JDK1.0开始采用的线程任务接口,而Callable则是JDK1.5才开始引入的。