我遇到了可调用线程的问题。
这是代码片段:
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。
我究竟做错了什么?
谢谢!