面试问区别,我说不知道,感觉空气瞬间突然宁静了。。。内心555
话不多说,吃一堑长一智!!!
Runnable接口:
public interface Runnable {
public abstract void run();
}
Callable接口:
public interface Callable<V> {
V call() throws Exception;
}
相同点:
- 两者都是接口。。。。。。。。 ( 额,可以忽略。。。)
- 都可用来编写多线程程序; (忽略三连,2333)
- 两者都需要调用Thread.start()启动线程; (说正事)
不同点:
- 两者最大的不同点是:
实现Callable接口的任务线程能返回执行结果;
实现Runnable接口的任务线程不能返回结果(void); - Callable接口的call()方法允许抛出异常;
而Runnable接口的run()方法的异常不能继续上抛;