...
A boolean flag can be used (as described earlier) if additional clean-up operations need to be performed.
Compliant Solution (
...
interruptible channel)
This compliant solution uses an interruptible channel, SocketChannel instead of a Socket connection. If the thread performing the network IO is interrupted using the Thread.interrupt() method, for instance, while reading the data, the thread receives a ClosedByInterruptException and the channel is closed immediately. The thread's interrupt status is also set.
...