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, 2013, Oracle and/or its affiliates. All rights reserved.