Класс AsynchronousChannelProvider
public abstract class AsynchronousChannelProvider extends Object
Поставщик асинхронных каналов — это конкретный подкласс данного класса, имеющий конструктор без аргументов и реализующий указанные ниже абстрактные методы. Для каждого вызова виртуальной машины Java поддерживается единственный экземпляр поставщика по умолчанию для всей системы, который возвращается методом provider. При первом вызове этого метода поставщик по умолчанию определяется описанным ниже способом.
Все методы этого класса безопасны для использования несколькими параллельно работающими потоками.
- Начиная с:
- 1.7
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Инициализирует новый экземпляр этого класса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract AsynchronousChannelGroup |
openAsynchronousChannelGroup |
Создает новую группу асинхронных каналов с пулом потоков фиксированного размера. |
abstract AsynchronousChannelGroup |
openAsynchronousChannelGroup |
Создает новую группу асинхронных каналов с указанным пулом потоков. |
abstract AsynchronousServerSocketChannel |
openAsynchronousServerSocketChannel |
Открывает асинхронный канал серверного сокета. |
abstract AsynchronousSocketChannel |
openAsynchronousSocketChannel |
Открывает асинхронный канал сокета. |
static AsynchronousChannelProvider |
provider() |
Возвращает поставщика асинхронных каналов по умолчанию для всей системы в данном вызове виртуальной машины Java. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс среды выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения определенного промежутка реального времени. |
Подробное описание конструкторов
AsynchronousChannelProvider
protected AsynchronousChannelProvider()
Подробное описание методов
provider
public static AsynchronousChannelProvider provider()
При первом вызове этого метода объект поставщика по умолчанию определяется следующим образом:
Если задано системное свойство
java.nio.channels.spi.AsynchronousChannelProvider, оно считается полным именем конкретного класса поставщика. Класс загружается и создается его экземпляр; если этот процесс завершается неудачей, возникает ошибка неопределенного типа.Если класс поставщика установлен в JAR-файле, доступном системному загрузчику классов, и этот JAR-файл содержит файл конфигурации поставщика с именем
java.nio.channels.spi.AsynchronousChannelProviderв каталоге ресурсовMETA-INF/services, используется первое указанное в этом файле имя класса. Класс загружается и создается его экземпляр; если этот процесс завершается неудачей, возникает ошибка неопределенного типа.Наконец, если поставщик не был указан ни одним из перечисленных выше способов, создается экземпляр класса поставщика по умолчанию для системы, и возвращается результат.
При последующих вызовах этого метода возвращается поставщик, возвращенный при первом вызове.
- Возвращает:
- Поставщик 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— Если произошла ошибка ввода-вывода
© 1993, 2025, 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.