比方说,我开始了一个线程,我有这样的事情:你可以用Future.cancel(true)中断BufferedReader.readLine()吗?
...//initiate all the socket connection
future = executor.submit
( new Runnable()
{ public void run()
{ ...
...
while ((str = in.readLine()) != null)
{ //do something here
}
}
);
执行人是ExecutorService的对象和是一个BufferedReader对象
我知道你可以从不同的线程关闭套接字中断这个线程。但是当我尝试使用future.cancel(true)方法时,即使它返回true,线程似乎仍在运行,任何人都知道为什么?或in.readLine()不能被这种方式打断?