public abstract class AsynchronousChannelProvider extends Object
非同期チャネル・プロバイダは、ゼロ引数コンストラクタを持ち、次の抽象メソッドを実装する、このクラスの具象サブクラスです。指定されたJava仮想マシン呼出しは、provider
メソッドによって返される、システム全体で単一のデフォルト・プロバイダ・インスタンスを保持します。このメソッドの最初の呼出しは、次のデフォルト・プロバイダを検出します。
このクラス内のすべてのメソッドは、複数の並行スレッドで安全に使用できます。
修飾子 | コンストラクタと説明 |
---|---|
protected |
AsynchronousChannelProvider()
このクラスの新しいインスタンスを初期化します。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract AsynchronousChannelGroup |
openAsynchronousChannelGroup(ExecutorService executor, int initialSize)
指定されたスレッド・プールで新しい非同期チャネル・グループを構築します。
|
abstract AsynchronousChannelGroup |
openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory)
固定されたスレッド・プールで新しい非同期チャネル・グループを構築します。
|
abstract AsynchronousServerSocketChannel |
openAsynchronousServerSocketChannel(AsynchronousChannelGroup group)
非同期のサーバー・ソケット・チャネルを開きます。
|
abstract AsynchronousSocketChannel |
openAsynchronousSocketChannel(AsynchronousChannelGroup group)
非同期のソケット・チャネルを開きます。
|
static AsynchronousChannelProvider |
provider()
このJava仮想マシン呼出しのためのシステム全体のデフォルト非同期チャネル・プロバイダを返します。
|
protected AsynchronousChannelProvider()
SecurityException
- セキュリティ・マネージャがインストールされており、それがRuntimePermission
("asynchronousChannelProvider")を拒否した場合public static AsynchronousChannelProvider provider()
このメソッドを最初に呼び出したとき、次の手順でデフォルト・プロバイダ・オブジェクトが検出されます。
システム・プロパティjava.nio.channels.spi.AsynchronousChannelProviderが定義されている場合、これが具象プロバイダ・クラスの完全修飾名と見なされます。その後、クラスがロードされ、インスタンスが作成されます。
システム・クラス・ローダーの認識するjarファイルにプロバイダ・クラスがインストールされていて、このjarファイルにリソース・ディレクトリMETA-INF/services内のプロバイダ構成ファイルjava.nio.channels.spi.AsynchronousChannelProviderが含まれている場合、そのファイルに指定されている最初のクラス名が使用されます。その後、クラスがロードされ、インスタンスが作成されます。
最後に、上記の手段で指定されたプロバイダが存在しない場合は、システムのデフォルト・プロバイダ・クラスのインスタンスが作成され、結果が返されます。
次回以降の呼出しでも、1回目の呼出し時に返されたプロバイダが返されます。
public abstract AsynchronousChannelGroup openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory) throws IOException
nThreads
- プール内のスレッド数threadFactory
- 新規スレッドの作成時に使用するファクトリIllegalArgumentException
- nThreads <= 0
の場合: IOException
- 入出力エラーが発生した場合AsynchronousChannelGroup.withFixedThreadPool(int, java.util.concurrent.ThreadFactory)
public abstract AsynchronousChannelGroup openAsynchronousChannelGroup(ExecutorService executor, int initialSize) throws IOException
executor
- スレッド・プールinitialSize
- >=0
の値、実装固有のデフォルトの場合は負の値IOException
- 入出力エラーが発生した場合AsynchronousChannelGroup.withCachedThreadPool(java.util.concurrent.ExecutorService, int)
public abstract AsynchronousServerSocketChannel openAsynchronousServerSocketChannel(AsynchronousChannelGroup group) throws IOException
group
- チャネルのバインド先のグループ、またはデフォルト・グループにバインドする場合はnull
IllegalChannelGroupException
- グループを作成したプロバイダがこのプロバイダと異なる場合ShutdownChannelGroupException
- グループがシャットダウンしている場合IOException
- 入出力エラーが発生した場合public abstract AsynchronousSocketChannel openAsynchronousSocketChannel(AsynchronousChannelGroup group) throws IOException
group
- チャネルのバインド先のグループ、またはデフォルト・グループにバインドする場合はnull
IllegalChannelGroupException
- グループを作成したプロバイダがこのプロバイダと異なる場合ShutdownChannelGroupException
- グループがシャットダウンしている場合IOException
- 入出力エラーが発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.