比方說,我開始了一個線程,我有這樣的事情:你可以用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()不能被這種方式打斷?