JavaTM 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

非同期のクローズや割り込みが可能なチャネルです。

このインタフェースを実装したチャネルは、非同期クローズ可能です。割り込み可能なチャネル上に入出力操作中にブロックされたスレッドがある場合、その他のスレッドはこのチャネルの close メソッドを呼び出すことができます。すると、ブロックされたスレッドが AsynchronousCloseException を受け取ります。

このインタフェースを実装したチャネルは割り込みも可能です。割り込み可能なチャネル上に入出力操作中にブロックされたスレッドがある場合、その他のスレッドはブロックされたスレッドの interrupt メソッドを呼び出すことができます。すると、チャネルがクローズし、ブロックされたスレッドが ClosedByInterruptException を受け取ります。続いて、ブロックされたスレッドの割り込み状態が設定されます。

スレッドの割り込み状態がすでに設定されている状態で、チャネル上でブロック入出力操作を呼び出した場合、チャネルはクローズし、スレッドは即座に ClosedByInterruptException を受け取ります。このときも、割り込み状態は設定されたままです。

チャネルは、このインタフェースを実装している場合にかぎり、非同期クローズと割り込みをサポートします。必要な場合は、instanceof 演算子を使って実行時にテストすることができます。

導入されたバージョン:
1.4

メソッドの概要
 void close()
          現在のチャネルをクローズします。
 
インタフェース java.nio.channels.Channel から継承されたメソッド
isOpen
 

メソッドの詳細

close

void close()
           throws IOException
現在のチャネルをクローズします。

このチャネル上に存在する入出力操作中にブロックされたスレッドは、 AsynchronousCloseException を受け取ります。

それ以外の点で、このメソッドは Channel インタフェースの指定どおりに動作します。

定義:
インタフェース Channel 内の close
定義:
インタフェース Closeable 内の close
例外:
IOException - 入出力エラーが発生した場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。