Класс AsynchronousChannelProvider

public abstract class AsynchronousChannelProvider
extends Object

Класс-поставщик услуг для асинхронных каналов.

Поставщик асинхронных каналов — это конкретный подкласс этого класса, имеющий конструктор без аргументов и реализующий абстрактные методы, указанные ниже. В данном вызове виртуальной машины Java поддерживается единственный глобальный экземпляр поставщика по умолчанию, который возвращается методом provider. Первый вызов этого метода будет искать поставщика по умолчанию, как указано ниже.

Все методы этого класса безопасны для использования в нескольких потоках одновременно.

С момента:
1.7

Конструкторы

МодификаторКонструкторОписание
protected AsynchronousChannelProvider()

Инициализирует новый экземпляр этого класса.

Методы

Модификатор и типМетодОписание
abstract AsynchronousChannelGroupopenAsynchronousChannelGroup​(int nThreads, ThreadFactory threadFactory)

Создаёт новую асинхронную группу каналов с фиксированным пулом потоков.

abstract AsynchronousChannelGroupopenAsynchronousChannelGroup​(ExecutorService executor, int initialSize)

Создаёт новую асинхронную группу каналов с заданным пулом потоков.

abstract AsynchronousServerSocketChannelopenAsynchronousServerSocketChannel​(AsynchronousChannelGroup group)

Открывает асинхронный канал серверного сокета.

abstract AsynchronousSocketChannelopenAsynchronousSocketChannel​(AsynchronousChannelGroup group)

Открывает асинхронный сокет-канал.

static AsynchronousChannelProviderprovider()

Возвращает глобального поставщика асинхронных каналов по умолчанию для данного вызова виртуальной машины Java.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

AsynchronousChannelProvider

protected AsynchronousChannelProvider()

Инициализирует новый экземпляр этого класса.

Исключения:
SecurityException - Если установлен менеджер безопасности и он запрещает RuntimePermission("asynchronousChannelProvider")

Методы

provider

public static AsynchronousChannelProvider provider()

Возвращает глобального поставщика асинхронных каналов по умолчанию для данного вызова виртуальной машины Java.

Первый вызов этого метода находит объект поставщика по умолчанию следующим образом:

  1. Если определён системный параметр java.nio.channels.spi.AsynchronousChannelProvider, то он рассматривается как полное имя класса конкретного поставщика. Класс загружается и создаётся; если этот процесс завершается неудачно, выбрасывается неопределённая ошибка.

  2. Если класс поставщика был установлен в файле jar, видимом для загрузчика системного класса, и этот файл jar содержит файл конфигурации поставщика с именем java.nio.channels.spi.AsynchronousChannelProvider в каталоге ресурсов META-INF/services, то первым именем класса, указанным в этом файле, будет использоваться. Класс загружается и создаётся; если этот процесс завершается неудачно, выбрасывается неопределённая ошибка.

  3. Наконец, если поставщик не был указан ни одним из вышеперечисленных способов, то создаётся класс системного поставщика по умолчанию, и результат возвращается.

Последующие вызовы этого метода возвращают поставщика, который был возвращён при первом вызове.

Возвращает:
Глобальный поставщик асинхронных каналов по умолчанию

openAsynchronousChannelGroup

public abstract AsynchronousChannelGroup openAsynchronousChannelGroup(int nThreads,
                                                                      ThreadFactory threadFactory)
                                                               throws IOException

Создаёт новую асинхронную группу каналов с фиксированным пулом потоков.

Параметры:
nThreads - Количество потоков в пуле
threadFactory - Фабрика для создания новых потоков
Возвращает:
Новая асинхронная группа каналов
Исключения:
IllegalArgumentException - Если nThreads <= 0
IOException - Если произошла ошибка ввода-вывода
См. также:
AsynchronousChannelGroup.withFixedThreadPool(int, java.util.concurrent.ThreadFactory)

openAsynchronousChannelGroup

public abstract AsynchronousChannelGroup openAsynchronousChannelGroup(ExecutorService executor,
                                                                      int initialSize)
                                                               throws IOException

Создаёт новую асинхронную группу каналов с заданным пулом потоков.

Параметры:
executor - Пул потоков
initialSize - Значение >=0 или отрицательное значение для реализации специфичного значения по умолчанию
Возвращает:
Новая асинхронная группа каналов
Исключения:
IOException - Если произошла ошибка ввода-вывода
См. также:
AsynchronousChannelGroup.withCachedThreadPool(java.util.concurrent.ExecutorService, int)

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 - Если произошла ошибка ввода-вывода

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/channels/spi/AsynchronousChannelProvider.html

Spec-Zone .ru
спецификации, руководства, описания, API