|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface InterruptibleChannel
非同期のクローズや割り込みが可能なチャネルです。
このインタフェースを実装したチャネルは、非同期クローズ可能です。割り込み可能なチャネル上に入出力操作中にブロックされたスレッドがある場合、その他のスレッドはこのチャネルの close メソッドを呼び出すことができます。すると、ブロックされたスレッドが AsynchronousCloseException を受け取ります。
このインタフェースを実装したチャネルは割り込みも可能です。割り込み可能なチャネル上に入出力操作中にブロックされたスレッドがある場合、その他のスレッドはブロックされたスレッドの interrupt メソッドを呼び出すことができます。すると、チャネルがクローズし、ブロックされたスレッドが ClosedByInterruptException を受け取ります。続いて、ブロックされたスレッドの割り込み状態が設定されます。
スレッドの割り込み状態がすでに設定されている状態で、チャネル上でブロック入出力操作を呼び出した場合、チャネルはクローズし、スレッドは即座に ClosedByInterruptException を受け取ります。このときも、割り込み状態は設定されたままです。
チャネルは、このインタフェースを実装している場合にかぎり、非同期クローズと割り込みをサポートします。必要な場合は、instanceof 演算子を使って実行時にテストすることができます。
| メソッドの概要 | |
|---|---|
void |
close()
現在のチャネルをクローズします。 |
| インタフェース java.nio.channels.Channel から継承されたメソッド |
|---|
isOpen |
| メソッドの詳細 |
|---|
void close()
throws IOException
このチャネル上に存在する入出力操作中にブロックされたスレッドは、 AsynchronousCloseException を受け取ります。
それ以外の点で、このメソッドは Channel インタフェースの指定どおりに動作します。
Channel 内の closeCloseable 内の closeIOException - 入出力エラーが発生した場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。