我想我的代码中有一个线程泄漏,但我不知道为什么。这里的代码 -为什么在这种情况下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;
}
}
我运行这个关闭Eclipse和问题是,当我遇到一个FileNotFoundException JVM不死。我必须手动终止它。我不明白为什么,但...
请向我们展示可执行代码。 –
@SotiriosDelimanolis我向你展示了所有相关的代码。 –
请向我们展示可编译和可执行的代码。如果这是为了伪代码,请确保您陈述它。 –