Класс AsynchronousChannelProvider
public abstract class AsynchronousChannelProvider extends Object
Провайдер асинхронных каналов — это конкретный подкласс этого класса, имеющий конструктор без аргументов и реализующий абстрактные методы, указанные ниже. В данном вызове виртуальной машины Java поддерживается один системный провайдер по умолчанию, который возвращается методом provider. Первый вызов этого метода найдет провайдера по умолчанию, как указано ниже.
Все методы в этом классе безопасны для использования в нескольких потоках одновременно.
- Since:
- 1.7
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Инициализирует новый экземпляр этого класса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract AsynchronousChannelGroup |
openAsynchronousChannelGroup |
Создаёт новый асинхронный канал группы с фиксированным пулом потоков. |
abstract AsynchronousChannelGroup |
openAsynchronousChannelGroup |
Создаёт новый асинхронный канал группы с заданным пулом потоков. |
abstract AsynchronousServerSocketChannel |
openAsynchronousServerSocketChannel |
Открывает асинхронный канал серверного сокета. |
abstract AsynchronousSocketChannel |
openAsynchronousSocketChannel |
Открывает асинхронный сокет-канал. |
static AsynchronousChannelProvider |
provider() |
Возвращает системный асинхронный провайдер канала по умолчанию для данного вызова виртуальной машины Java. |
Подробное описание конструкторов
AsynchronousChannelProvider
protected AsynchronousChannelProvider()
- Исключения:
-
SecurityException- Если установлено управление безопасностью и оно отказывается предоставитьRuntimePermission("asynchronousChannelProvider")
Подробное описание методов
provider
public static AsynchronousChannelProvider provider()
Первый вызов этого метода ищет объект провайдера по умолчанию следующим образом:
Если системная переменная
java.nio.channels.spi.AsynchronousChannelProviderопределена, она рассматривается как полное имя класса конкретного провайдера. Класс загружается и инициализируется; если этот процесс завершается неудачей, выбрасывается неопределённая ошибка.Если класс провайдера был установлен в файле jar, видимом для системного загрузчика классов, и этот файл jar содержит файл конфигурации провайдера, названный
java.nio.channels.spi.AsynchronousChannelProviderв каталоге ресурсовMETA-INF/services, то имя первого класса, указанного в этом файле, используется. Класс загружается и инициализируется; если этот процесс завершается неудачей, выбрасывается неопределённая ошибка.Наконец, если ни один провайдер не был указан ни одним из вышеперечисленных способов, то инициализируется системный провайдер по умолчанию, и результат возвращается.
Последующие вызовы этого метода возвращают провайдера, который был возвращен при первом вызове.
- Возвращает:
- Системный асинхронный провайдер канала по умолчанию
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- Если произошла ошибка ввода-вывода
© 1993, 2021, 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/17/docs/api/java.base/java/nio/channels/spi/AsynchronousChannelProvider.html