我有这段代码:
networkEnquirerThread = new Thread(new Runnable() {
Socket socket = null;
PrintWriter out = null;
BufferedReader br = null;
String response = null;
@Override
public void run(){
try {
socket = new Socket("blah blah", 909090);
out = new PrintWriter(socket.getOutputStream(), true);
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(true){
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
out.println("something");
response = br.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
});
如何中断此线程并确保套接字在onStop()
或onDestroy()
方法中关闭?我应该使用这种方法http://www.baeldung.com/java-thread-stop吗?同样在该链接中,似乎将AtomicBoolean
变量设置为false会引发InterruptedException
?