while (active) {
String message = reader.readLine();
}
public void stop(){
active = false;
}
如何在Thread
返回readLine()
之前停止此String
?
答案 0 :(得分:2)
答案 1 :(得分:1)
在这种情况下,必须关闭BufferedReader以取消阻止读取线程。
public void stop() {
closeQuietly(reader); // unblock
active = false;
}
public static void closeQuietly(Closable c) {
if(c != null)
try {
c.close();
} catch(IOException ignored) { }
}