Интерфейс Channels.SelectableChannelCloser
- Окружающий класс:
- Channels
public static interface Channels.SelectableChannelCloser
Объект, используемый для координации закрытия выбираемого канала, созданного с помощью readWriteSelectableChannel.
- С:
- 11
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
implCloseChannel(SelectableChannel sc) |
Закрывает выбираемый канал. |
void |
implReleaseChannel(SelectableChannel sc) |
Освобождает дескриптор файла и любые ресурсы для выбираемого канала, который был закрыт во время регистрации с одним или несколькими |
Методы
implCloseChannel
void implCloseChannel(SelectableChannel sc)
throws IOException
Закрывает выбираемый канал.
Этот метод вызывается методом close канала для выполнения фактической работы по закрытию канала. Этот метод вызывается только в том случае, если канал еще не был закрыт, и он никогда не вызывается более одного раза реализацией close канала.
Реализация этого метода должна обеспечить, чтобы любой другой поток, заблокированный в операции ввода-вывода над каналом, возвращался немедленно, либо путем выброса исключения, либо путем нормального возврата. Если канал registered с одним или несколькими Selector, то дескриптор файла не должен быть освобожден до тех пор, пока не будет вызван метод implReleaseChannel.
- Параметры:
-
sc- Выбираемый канал - Исключения:
-
IOException- Если при закрытии дескриптора файла произошла ошибка ввода-вывода - См. также:
AbstractInterruptibleChannel.implCloseChannel()
implReleaseChannel
void implReleaseChannel(SelectableChannel sc)
throws IOException
Освобождает дескриптор файла и любые ресурсы для выбираемого канала, который был закрыт во время регистрации с одним или несколькими Selector.
Этот метод предназначен для случаев, когда канал закрывается при registered с одним или несколькими Selector. Канал может оставаться зарегистрированным некоторое время после его закрытия. Этот метод вызывается, когда канал в конечном итоге отменяет регистрацию из последнего Selector , с которым он был зарегистрирован. Он вызывается не более одного раза.
- Примечание API:
- Этот метод вызывается во время синхронизации на селекторе и его наборе выбранных ключей. Следует проявлять особую осторожность, чтобы избежать тупиков с другими потоками, которые также синхронизируются на этих объектах.
- Параметры:
-
sc- Закрытый выбираемый канал - Исключения:
-
IOException- Если при этом произошла ошибка ввода-вывода - См. также:
AbstractSelector.deregister(java.nio.channels.spi.AbstractSelectionKey)
© 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/jdk.net/jdk/nio/Channels.SelectableChannelCloser.html