クラスAsynchronousChannelProvider

java.lang.Object
java.nio.channels.spi.AsynchronousChannelProvider

public abstract class AsynchronousChannelProvider extends Object
非同期チャネルのサービス・プロバイダ・クラスです。

非同期チャネル・プロバイダは、ゼロ引数コンストラクタを持ち、次の抽象メソッドを実装する、このクラスの具象サブクラスです。 指定されたJava仮想マシン呼出しは、providerメソッドによって返される、システム全体で単一のデフォルト・プロバイダ・インスタンスを保持します。 このメソッドの最初の呼出しは、次のデフォルト・プロバイダを検出します。

このクラス内のすべてのメソッドは、複数の並行スレッドで安全に使用できます。

導入されたバージョン:
1.7
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    このクラスの新しいインスタンスを初期化します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory)
    固定されたスレッド・プールで新しい非同期チャネル・グループを構築します。
    openAsynchronousChannelGroup(ExecutorService executor, int initialSize)
    指定されたスレッド・プールで新しい非同期チャネル・グループを構築します。
    非同期のサーバー・ソケット・チャネルを開きます。
    非同期のソケット・チャネルを開きます。
    このJava仮想マシン呼出しのためのシステム全体のデフォルト非同期チャネル・プロバイダを返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • AsynchronousChannelProvider

      protected AsynchronousChannelProvider()
      このクラスの新しいインスタンスを初期化します。
  • メソッドの詳細

    • provider

      public static AsynchronousChannelProvider provider()
      このJava仮想マシン呼出しのためのシステム全体のデフォルト非同期チャネル・プロバイダを返します。

      このメソッドを最初に呼び出したとき、次の手順でデフォルト・プロバイダ・オブジェクトが検出されます。

      1. システム・プロパティjava.nio.channels.spi.AsynchronousChannelProviderが定義されている場合、具象プロバイダ・クラスの完全修飾名になります。 その後、クラスがロードされ、インスタンスが作成されます。

      2. システム・クラス・ローダーに表示されるjarファイルにプロバイダ・クラスがインストールされており、そのjarファイルにリソース・ディレクトリMETA-INF/servicesjava.nio.channels.spi.AsynchronousChannelProviderというプロバイダ構成ファイルが含まれている場合、そのファイルに指定された最初のクラス名が取得されます。 その後、クラスがロードされ、インスタンスが作成されます。

      3. 最後に、上記の手段で指定されたプロバイダが存在しない場合は、システムのデフォルト・プロバイダ・クラスのインスタンスが作成され、結果が返されます。

      次回以降の呼出しでも、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 - 入出力エラーが発生した場合