JavaTM 2
Platform
Std. Ed. v1.4.0

java.nio.channels
インタフェース InterruptibleChannel

すべてのスーパーインタフェース:
Channel
既知の実装クラスの一覧:
AbstractInterruptibleChannel

public interface InterruptibleChannel
extends Channel

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

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

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

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

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

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

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

メソッドの詳細

close

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

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

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

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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.