1)可以接受的任务类型
submit:
execute:
从上面可以看出来:
- submit参数可以是runnable接口也可以是callable接口,而excute只能是runnable接口
- submit不管是Runnable还是Callable类型的任务都可以接受,但是Runnable返回值均为void,所以使用Future的get()获得的还是null 而excute没有返回值。
-
execute中抛出异常
1. execute中的是Runnable接口的实现,所以只能使用try、catch来捕获CheckedException,通过实现UncaughtExceptionHande接口处理UncheckedException
即和普通线程的处理方式完全一致
2.submit中抛出异常
不管提交的是Runnable还是Callable类型的任务,如果不对返回值Future调用get()方法,都会吃掉异常