模块 java.base

类 AsynchronousChannelProvider

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

public abstract class AsynchronousChannelProvider extends Object
异步通道的服务提供者类。

异步通道提供程序是此类的具体子类,它具有零参数构造函数并实现下面指定的抽象方法。 Java 虚拟机的给定调用维护一个系统范围的默认提供程序实例,该实例由 provider 方法返回。该方法的第一次调用将定位默认提供程序,如下所示。

此类中的所有方法都可以安全地供多个并发线程使用。

自从:
1.7
  • 构造方法详细信息

    • AsynchronousChannelProvider

      protected AsynchronousChannelProvider()
      初始化此类的新实例。
      抛出:
      SecurityException - 如果安装了安全管理器并且它拒绝 RuntimePermission ("asynchronousChannelProvider")
  • 方法详情

    • provider

      public static AsynchronousChannelProvider  provider()
      返回此 Java 虚拟机调用的系统范围默认异步通道提供程序。

      此方法的第一次调用定位默认提供者对象,如下所示:

      1. 如果定义了系统属性 java.nio.channels.spi.AsynchronousChannelProvider,则它被视为具体提供程序类的完全限定名称。该类已加载并实例化;如果此过程失败,则会抛出未指定的错误。

      2. 如果提供者类已安装在系统类加载器可见的 jar 文件中,并且该 jar 文件在资源目录 META-INF/services 中包含名为 java.nio.channels.spi.AsynchronousChannelProvider 的提供者配置文件,则采用该文件中指定的第一个类名。该类已加载并实例化;如果此过程失败,则会抛出未指定的错误。

      3. 最后,如果没有通过上述任何方式指定提供者,则实例化系统默认提供者类并返回结果。

      此方法的后续调用返回由第一次调用返回的提供程序。

      返回:
      系统范围的默认 AsynchronousChannel 提供者
    • openAsynchronousChannelGroup

      public abstract AsynchronousChannelGroup  openAsynchronousChannelGroup(int nThreads, ThreadFactory  threadFactory) throws IOException
      构造一个新的具有固定线程池的异步通道组。
      参数:
      nThreads - 池中的线程数
      threadFactory - 创建新线程时使用的工厂
      返回:
      一个新的异步通道组
      抛出:
      IllegalArgumentException - 如果 nThreads <= 0
      IOException - 如果发生 I/O 错误
      参见:
    • openAsynchronousChannelGroup

      public abstract AsynchronousChannelGroup  openAsynchronousChannelGroup(ExecutorService  executor, int initialSize) throws IOException
      使用给定的线程池构造一个新的异步通道组。
      参数:
      executor - 线程池
      initialSize - 值 >=0 或实现特定默认值的负值
      返回:
      一个新的异步通道组
      抛出:
      IOException - 如果发生 I/O 错误
      参见:
    • openAsynchronousServerSocketChannel

      public abstract AsynchronousServerSocketChannel  openAsynchronousServerSocketChannel(AsynchronousChannelGroup  group) throws IOException
      打开异步服务套接字通道。
      参数:
      group - 通道绑定到的组,或 null 绑定到默认组
      返回:
      新通道
      抛出:
      IllegalChannelGroupException - 如果创建该组的提供者与该提供者不同
      ShutdownChannelGroupException - 该组已关闭
      IOException - 如果发生 I/O 错误
    • openAsynchronousSocketChannel

      public abstract AsynchronousSocketChannel  openAsynchronousSocketChannel(AsynchronousChannelGroup  group) throws IOException
      打开异步套接字通道。
      参数:
      group - 通道绑定到的组,或 null 绑定到默认组
      返回:
      新通道
      抛出:
      IllegalChannelGroupException - 如果创建该组的提供者与该提供者不同
      ShutdownChannelGroupException - 该组已关闭
      IOException - 如果发生 I/O 错误