作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用可调用线程时遇到问题。
这是代码片段:
ExecutorService service = Executors.newFixedThreadPool(1);
for(int i =0; i<30;i++){
Future<MyClass> task = service.submit( new MyThread(parameter1, parameter2));
try{
result = task.get();
}
catch(InterruptedException ex){
System.out.println("Interruped!");
}
catch(ExecutionException ex){
System.out.println("Execution ExceptioN!");
}
}
service.shutdownNow();
上面的代码会正确执行 18 次,然后在第 18 次之后抛出 ExecutionException。
我做错了什么?
谢谢!
最佳答案
ExecutionException 文档指出:
尝试检索因引发异常而中止的任务的结果时引发异常。可以使用 Throwable.getCause() 方法检查此异常。
所以你的任务正在抛出异常。对 ExecutionException 调用 getCause 以查看该异常。
关于Java 在多次成功执行线程后在循环中抛出 ExecutionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5504003/
我是一名优秀的程序员,十分优秀!