Executor.submit()和Executor.execute()这两个方法有什么区别?
来源:互联网 发布:遍历搜索算法 编辑:程序博客网 时间:2024/05/17 03:56
此问题来自另外一篇文章,《15个最流行的java多线程面试问题》,现在对熟练掌握并发技能的开发者的需求越来越大,因此这个问题也越来越引起大家的重视。答案是:前者返回一个Future对象,可以通过这个对象来获得工作线程执行的结果。
当我们考察异常处理的时候,又会发现另外一个不同。当你使用execute提交的任务抛出异常时,此异常将会交由未捕捉异常处理过程来处理(uncaught exception handler),当你没有显式指定一个异常处理器的话,默认情况下仅仅会通过System.err打印出错误堆栈。当你用submit来提交一个任务的时候,这个任务一旦抛出异常(无论是否是运行时异常),那这个异常是任务返回对象的一部分。对这样一种情形,当你调用Future.get()方法的时候,这个方法会重新抛出这个异常,并且会使用ExecutionException进行包装。
0 0
- Executor.submit()和Executor.execute()这两个方法有什么区别?
- Java Executor.submit()和Executor.execute()这两个方法有什么区别?
- Difference between executor.submit and executor.execute
- ExecutorService的execute和submit方法区别
- Executor
- Executor
- Executor
- Executor
- Executor
- Executor
- Executor
- Executor
- Executor
- Executor
- mkdir() 和 mkdirs() 这两个方法有什么区别
- Java并发---- Executor并发框架--ThreadToolExecutor类详解(execute方法)
- submit和execute的区别
- Submit和execute的区别
- Python之闭包学习笔记
- 能否写一个单例模式,并且保证实例的唯一性?
- 分布式的计算模型
- c++虚基类
- 基础算法小结
- Executor.submit()和Executor.execute()这两个方法有什么区别?
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
- iOS有三种多线程编程
- 安卓高仿QQ头像截取升级版
- ByteArrayInputStream 和InputStream中read方法
- poj 2253 Frogger (floyd)
- Js作用域与作用域链
- MonkeyTalk自动化之FAQ
- 用递归方法建立二叉树