neo*_*neo 6 java multithreading java.util.concurrent
假设我开始了一个帖子,我有这样的事情:
...//initiate all the socket connection
future = executor.submit
( new Runnable()
{ public void run()
{ ...
...
while ((str = in.readLine()) != null)
{ //do something here
}
}
);
Run Code Online (Sandbox Code Playgroud)
executor是一个ExecutorService对象,并且是一个BufferedReader对象
我知道你可以从另一个线程关闭套接字来中断这个线程.但是当我尝试使用future.cancel(true)方法时,即使它返回true,线程似乎仍然在运行,任何人都知道为什么?或in.readLine()不能以这种方式中断?