JavaTM 2 Platform
Standard Ed. 6

java.nio.channels
介面 InterruptibleChannel

所有父級介面:
Channel, Closeable
所有已知實作類別:
AbstractInterruptibleChannel, AbstractSelectableChannel, DatagramChannel, FileChannel, Pipe.SinkChannel, Pipe.SourceChannel, SelectableChannel, ServerSocketChannel, SocketChannel

public interface InterruptibleChannel
extends Channel

可被非同步關閉和中斷的通道。

實作此介面的通道是可非同步關閉的:如果某個執行緒阻塞於可中斷通道上的 I/O 操作中,則另一個執行緒可調用該通道的 close 方法。這將導致已阻塞執行緒接收到 AsynchronousCloseException

實作此介面的通道也是可中斷的:如果某個執行緒阻塞於可中斷通道上的 I/O 操作中,則另一個執行緒可調用該阻塞執行緒的 interrupt 方法。這將導致該通道被關閉,已阻塞執行緒接收到 ClosedByInterruptException,並且設置已阻塞執行緒的中斷狀態。

如果已設置某個執行緒的中斷狀態並且它在通道上調用某個阻塞的 I/O 操作,則該通道將關閉並且該執行緒立即接收到 ClosedByInterruptException;並仍然設置其中斷狀態。

當且僅當某個通道實作此介面時,該通道才支持非同步關閉和中斷。如有必要,可在運行時通過 instanceof 操作符進行測試。

從以下版本開始:
1.4

方法摘要
 void close()
          關閉此通道。
 
從介面 java.nio.channels.Channel 繼承的方法
isOpen
 

方法詳細資訊

close

void close()
           throws IOException
關閉此通道。

所有當前阻塞於此通道上的 I/O 操作中的執行緒都將接收到 AsynchronousCloseException

此方法的行為與 Channel 介面所指定的行為完全相同。

指定者:
介面 Channel 中的 close
指定者:
介面 Closeable 中的 close
拋出:
IOException - 如果發生 I/O 錯誤

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only