クラスAsynchronousChannelProvider
java.lang.Object
java.nio.channels.spi.AsynchronousChannelProvider
public abstract class AsynchronousChannelProvider extends Object
非同期チャネルのサービス・プロバイダ・クラスです。
非同期チャネル・プロバイダは、ゼロ引数コンストラクタを持ち、次の抽象メソッドを実装する、このクラスの具象サブクラスです。 指定されたJava仮想マシン呼出しは、providerメソッドによって返される、システム全体で単一のデフォルト・プロバイダ・インスタンスを保持します。 このメソッドの最初の呼出しは、次のデフォルト・プロバイダを検出します。
このクラス内のすべてのメソッドは、複数の並行スレッドで安全に使用できます。
- 導入されたバージョン:
- 1.7
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract AsynchronousChannelGroupopenAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory) 固定されたスレッド・プールで新しい非同期チャネル・グループを構築します。abstract AsynchronousChannelGroupopenAsynchronousChannelGroup(ExecutorService executor, int initialSize) 指定されたスレッド・プールで新しい非同期チャネル・グループを構築します。abstract AsynchronousServerSocketChannel非同期のサーバー・ソケット・チャネルを開きます。abstract AsynchronousSocketChannel非同期のソケット・チャネルを開きます。static AsynchronousChannelProviderprovider()このJava仮想マシン呼出しのためのシステム全体のデフォルト非同期チャネル・プロバイダを返します。
-
コンストラクタの詳細
-
AsynchronousChannelProvider
protected AsynchronousChannelProvider()このクラスの新しいインスタンスを初期化します。
-
-
メソッドの詳細
-
provider
public static AsynchronousChannelProvider provider()このJava仮想マシン呼出しのためのシステム全体のデフォルト非同期チャネル・プロバイダを返します。このメソッドを最初に呼び出したとき、次の手順でデフォルト・プロバイダ・オブジェクトが検出されます。
システム・プロパティ
java.nio.channels.spi.AsynchronousChannelProviderが定義されている場合、具象プロバイダ・クラスの完全修飾名になります。 その後、クラスがロードされ、インスタンスが作成されます。システム・クラス・ローダーに表示されるjarファイルにプロバイダ・クラスがインストールされており、そのjarファイルにリソース・ディレクトリ
META-INF/servicesにjava.nio.channels.spi.AsynchronousChannelProviderというプロバイダ構成ファイルが含まれている場合、そのファイルに指定された最初のクラス名が取得されます。 その後、クラスがロードされ、インスタンスが作成されます。最後に、上記の手段で指定されたプロバイダが存在しない場合は、システムのデフォルト・プロバイダ・クラスのインスタンスが作成され、結果が返されます。
次回以降の呼出しでも、1回目の呼出し時に返されたプロバイダが返されます。
- 戻り値:
- システム全体のデフォルトのAsynchronousChannelプロバイダ
-
openAsynchronousChannelGroup
public abstract AsynchronousChannelGroup openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory) throws IOException 固定されたスレッド・プールで新しい非同期チャネル・グループを構築します。- パラメータ:
nThreads- プール内のスレッド数threadFactory- 新規スレッドの作成時に使用するファクトリ- 戻り値:
- 新しい非同期チャネル・グループ
- スロー:
IllegalArgumentException-nThreads <= 0の場合IOException- 入出力エラーが発生した場合- 関連項目:
-
openAsynchronousChannelGroup
public abstract AsynchronousChannelGroup openAsynchronousChannelGroup(ExecutorService executor, int initialSize) throws IOException 指定されたスレッド・プールで新しい非同期チャネル・グループを構築します。- パラメータ:
executor- スレッド・プールinitialSize->=0の値、実装固有のデフォルトの場合は負の値- 戻り値:
- 新しい非同期チャネル・グループ
- スロー:
IOException- 入出力エラーが発生した場合- 関連項目:
-
openAsynchronousServerSocketChannel
public abstract AsynchronousServerSocketChannel openAsynchronousServerSocketChannel(AsynchronousChannelGroup group) throws IOException 非同期のサーバー・ソケット・チャネルを開きます。- パラメータ:
group- チャネルのバインド先のグループ、またはデフォルト・グループにバインドする場合はnull- 戻り値:
- 新しいチャネル
- スロー:
IllegalChannelGroupException- グループを作成したプロバイダがこのプロバイダと異なる場合ShutdownChannelGroupException- グループがシャットダウンしている場合IOException- 入出力エラーが発生した場合
-
openAsynchronousSocketChannel
public abstract AsynchronousSocketChannel openAsynchronousSocketChannel(AsynchronousChannelGroup group) throws IOException 非同期のソケット・チャネルを開きます。- パラメータ:
group- チャネルのバインド先のグループ、またはデフォルト・グループにバインドする場合はnull- 戻り値:
- 新しいチャネル
- スロー:
IllegalChannelGroupException- グループを作成したプロバイダがこのプロバイダと異なる場合ShutdownChannelGroupException- グループがシャットダウンしている場合IOException- 入出力エラーが発生した場合
-