Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface InterruptibleChannel extends Channel
Канал, который реализует этот интерфейс, асинхронно closeable: Если поток блокируется в работе ввода-вывода на прерывистом канале тогда, другой поток может вызвать канал close
метод. Это заставит блокированный поток получать AsynchronousCloseException
.
Канал, который реализует этот интерфейс, является также прерывистым: Если поток блокируется в работе ввода-вывода на прерывистом канале тогда, другой поток может вызвать блокированный поток interrupt
метод. Это заставит канал быть закрытым, блокированный поток, чтобы получить a ClosedByInterruptException
, и состояние прерывания блокированного потока, которое будет установлено.
Если состояние прерывания потока будет уже установлено, и оно вызывает работу ввода-вывода блокирования на канал тогда, то канал будет закрыт, и поток сразу получит a ClosedByInterruptException
; его состояние прерывания останется установленным.
Канал поддерживает асинхронное закрытие и прерывание, если, и только если, это реализует этот интерфейс. Это может быть протестировано во время выполнения, в случае необходимости, через оператор instanceof.
void close() throws IOException
Любой поток, в настоящий момент блокированный в работе ввода-вывода на этот канал, получит AsynchronousCloseException
.
Этот метод иначе ведет себя точно как определено Channel
интерфейс.
close
в интерфейсе AutoCloseable
close
в интерфейсе Channel
close
в интерфейсе Closeable
IOException
- Если ошибка ввода-вывода происходит
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.