Spec-Zone.ru › OpenJDK 21

Класс AsynchronousChannelProvider

java.lang.Object
java.nio.channels.spi.AsynchronousChannelProvider
public abstract class AsynchronousChannelProvider extends Object
Класс-провайдер для асинхронных каналов.

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

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

С момента:
1.7

Краткое описание конструкторов

AsynchronousChannelProvider()
Модификатор Конструктор Описание
protected
Инициализирует новый экземпляр этого класса.

Краткое описание методов

Модификатор и тип Метод Описание
abstract AsynchronousChannelGroup openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory)
Создаёт новую асинхронную группу каналов с фиксированным пулом потоков.
abstract AsynchronousChannelGroup openAsynchronousChannelGroup(ExecutorService executor, int initialSize)
Создаёт новую асинхронную группу каналов с заданным пулом потоков.
abstract AsynchronousServerSocketChannel openAsynchronousServerSocketChannel(AsynchronousChannelGroup group)
Открывает асинхронный канал сокета сервера.
abstract AsynchronousSocketChannel openAsynchronousSocketChannel(AsynchronousChannelGroup group)
Открывает асинхронный сокет-канал.
static AsynchronousChannelProvider provider()
Возвращает глобальный провайдер асинхронных каналов по умолчанию для данной инстанции виртуальной машины 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, 2023, 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/21/docs/api/java.base/java/nio/channels/spi/AsynchronousChannelProvider.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API