Допустим, я начал тему, и у меня есть что-то вроде этого:
...//initiate all the socket connection
future = executor.submit
( new Runnable()
{ public void run()
{ ...
...
while ((str = in.readLine()) != null)
{ //do something here
}
}
);
executor является объектом ExecutorService, а in является объектом BufferedReader
Я знаю, что вы можете закрыть сокет из другого потока, чтобы прервать этот поток. Но когда я пытаюсь использовать метод future.cancel (true), даже если он возвращает true, поток кажется работающим, кто-нибудь знает почему? или in.readLine () не может быть прервана таким образом?