Я думаю, что в моем коде есть утечка потока, но я не знаю, почему. Вот код -Почему JVM не завершается в этом случае?
foo(String solutionFileName, String SubmissionFileName){
ExecutorService e = Executors.newFixedThreadPool(
Future<BufferedReader> f1 = e.submit(new Builder(solutionFileName));
Future<BufferedReader> f2 = e.submit(new Builder(submissionFileName));
BufferedReader b1=f1.get();
BufferedReader b2=f2.get();
//do a little work
e.shutdown();
}
class Builder{
Builder(String fileName){this.fileName=fileName;}
public BufferedReader call() throws FileNotFoundException{
return new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
String fileName;
}
}
Im работает это от Eclipse, и проблема заключается в том, что, когда я ударил FileNotFoundException виртуальная машина оленья кожа умирает. Я должен его вручную завершить. Я не понимаю, почему, хотя ...
Пожалуйста, покажите нам исполняемый код. –
@SotiriosDelimanolis Я показал вам весь соответствующий код. –
Пожалуйста, покажите нам компилируемый и исполняемый код. Если это предназначено для псевдокода, обязательно сообщите об этом. –