Допустим, я запустил поток, и у меня есть что-то вроде этого:
...//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() не может быть прерван таким образом?