采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
线程池的submit方法既可以执行Runnable任务,也可以执行Callable任务,而execute 方法却只能运行Runnable任务。那submit方法是不是可以完全替代execute方法?为什么还留着execute方法???
他们在处理异常时,策略不同,execute会直接抛出,而submit会等Future.get时抛出。
参考:https://stackoverflow.com/questions/3929342/choose-between-executorservices-submit-and-executorservices-execute
非常感谢!
知道了区别,那如何选择?stackoverflow上的建议:执行Runnable任务用execute,执行Callable任务用submit,我的理解对不对??
恩对的
老师说的是一点原因,但我觉得根本原因还是为了向后兼容。就是如果submit是在execute之后的版本开发的,那JDK为了向后兼容,肯定得保留execute,要是直接删除这个方法,岂不是很多工程都报错了。
登录后可查看更多问答,登录/注册
JUC全方位讲解,构建并发工具类知识体系
1.1k 11
1.5k 10
1.1k 10
1.5k 9
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号