closes an open channel . if the channel is already closed then this method has no effect , otherwise it closes the receiver via the implclosechannel method . if an attempt is made to perform an operation on a closed channel then a java.nio.channels.closedchannelexception is thrown . if multiple threads attempt to simultaneously close a channel , then only one thread will run the closure code and the others will be blocked until the first one completes . concode_field_sep boolean interrupted concode_elem_sep ChannelCloser interruptAndCloseRunnable concode_elem_sep boolean closed concode_field_sep void implCloseChannel concode_elem_sep boolean isOpen concode_elem_sep void run concode_elem_sep void end concode_elem_sep void begin
void function ( ) { if ( ! closed ) { synchronized ( this ) { if ( ! closed ) { closed = true ; implCloseChannel ( ) ; } } } }