0
我在调用线程时遇到问题。Java在多次成功执行线程后在循环中抛出ExecutionException
这里是一小段代码片段:
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。
我在做什么错?
谢谢!
发布堆栈跟踪请 – katsharp 2011-03-31 17:42:01
发布'MyThread'的代码 – pajton 2011-03-31 17:45:49
只是为了确保:'MyThread'实现'Callable'并且与'Thread'没有关系(不扩展)? – 2011-04-05 23:54:47