java.lang.Object
java.nio.channels.spi.AsynchronousChannelProvider
异步通道的服务提供者类。
异步通道提供程序是此类的具体子类,它具有零参数构造函数并实现下面指定的抽象方法。 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()初始化此类的新实例。- 抛出:
SecurityException- 如果安装了安全管理器并且它拒绝RuntimePermission("asynchronousChannelProvider")
-
-
方法详情
-
provider
返回此 Java 虚拟机调用的系统范围默认异步通道提供程序。此方法的第一次调用定位默认提供者对象,如下所示:
如果定义了系统属性
java.nio.channels.spi.AsynchronousChannelProvider,则它被视为具体提供程序类的完全限定名称。该类已加载并实例化;如果此过程失败,则会抛出未指定的错误。如果提供者类已安装在系统类加载器可见的 jar 文件中,并且该 jar 文件在资源目录
META-INF/services中包含名为java.nio.channels.spi.AsynchronousChannelProvider的提供者配置文件,则采用该文件中指定的第一个类名。该类已加载并实例化;如果此过程失败,则会抛出未指定的错误。最后,如果没有通过上述任何方式指定提供者,则实例化系统默认提供者类并返回结果。
此方法的后续调用返回由第一次调用返回的提供程序。
- 返回:
- 系统范围的默认 AsynchronousChannel 提供者
-
openAsynchronousChannelGroup
public abstract AsynchronousChannelGroup openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory) throws IOException 构造一个新的具有固定线程池的异步通道组。- 参数:
nThreads- 池中的线程数threadFactory- 创建新线程时使用的工厂- 返回:
- 一个新的异步通道组
- 抛出:
IllegalArgumentException- 如果nThreads <= 0IOException- 如果发生 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 错误
-