我想我的代碼中有一個線程泄漏,但我不知道爲什麼。這裏的代碼 -爲什麼在這種情況下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我向你展示了所有相關的代碼。 –
請向我們展示可編譯和可執行的代碼。如果這是爲了僞代碼,請確保您陳述它。 –