Spec-Zone.ru › OpenJDK 8

Класс AsynchronousChannelProvider

  • java.lang.Object
    • java.nio.channels.spi.AsynchronousChannelProvider

public abstract class AsynchronousChannelProvider
extends Object

Класс-провайдер для асинхронных каналов.

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

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

Since:
1.7

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

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

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

Методы

Модификатор и тип Метод и описание
abstract AsynchronousChannelGroup openAsynchronousChannelGroup(ExecutorService executor, int initialSize)

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

abstract AsynchronousChannelGroup openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory)

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

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()

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

Throws:
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. Наконец, если ни один провайдер не был указан ни одним из вышеперечисленных способов, то инициализируется класс системного провайдера по умолчанию, и результат возвращается.

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

Returns:
Системный провайдер асинхронных каналов по умолчанию

openAsynchronousChannelGroup

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

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

Parameters:
nThreads - Количество потоков в пуле
threadFactory - Фабрика для создания новых потоков
Returns:
Новая группа асинхронных каналов
Throws:
IllegalArgumentException - Если nThreads <= 0
IOException - Если произошла ошибка ввода-вывода
See Also:
AsynchronousChannelGroup.withFixedThreadPool(int, java.util.concurrent.ThreadFactory)

openAsynchronousChannelGroup

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

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

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

openAsynchronousServerSocketChannel

public abstract AsynchronousServerSocketChannel openAsynchronousServerSocketChannel(AsynchronousChannelGroup group)
                                                                             throws IOException

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

Parameters:
group - Группа, к которой привязан канал, или null для привязки к группе по умолчанию
Returns:
Новый канал
Throws:
IllegalChannelGroupException - Если провайдер, который создал группу, отличается от этого провайдера
ShutdownChannelGroupException - Группа закрыта
IOException - Если произошла ошибка ввода-вывода

openAsynchronousSocketChannel

public abstract AsynchronousSocketChannel openAsynchronousSocketChannel(AsynchronousChannelGroup group)
                                                                 throws IOException

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

Parameters:
group - Группа, к которой привязан канал, или null для привязки к группе по умолчанию
Returns:
Новый канал
Throws:
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.

Spec-Zone.ru

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