线程池问题
来源:12-7 用法二:用FutureTask获取结果

BingleyFeng
2020-03-03
线程池的submit方法既可以执行Runnable任务,也可以执行Callable任务,而execute 方法却只能运行Runnable任务。那submit方法是不是可以完全替代execute方法?为什么还留着execute方法???
写回答
2回答
-
他们在处理异常时,策略不同,execute会直接抛出,而submit会等Future.get时抛出。
参考:https://stackoverflow.com/questions/3929342/choose-between-executorservices-submit-and-executorservices-execute
032020-03-04 -
海天s
2021-07-24
老师说的是一点原因,但我觉得根本原因还是为了向后兼容。就是如果submit是在execute之后的版本开发的,那JDK为了向后兼容,肯定得保留execute,要是直接删除这个方法,岂不是很多工程都报错了。
00
相似问题