Поделиться через


AbstractInterruptibleChannel Класс

Определение

Базовый класс реализации для прерываний каналов.

[Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)]
public abstract class AbstractInterruptibleChannel : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Nio.Channels.IInterruptibleChannel
[<Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)>]
type AbstractInterruptibleChannel = class
    inherit Object
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IInterruptibleChannel
Наследование
AbstractInterruptibleChannel
Производный
Атрибуты
Реализации

Комментарии

Базовый класс реализации для прерываний каналов.

Этот класс инкапсулирует низкоуровневый механизм, необходимый для реализации асинхронного закрытия и прерывания каналов. Конкретный класс канала должен вызывать #begin begin#end end методы до и после, соответственно, вызывая операцию ввода-вывода, которая может блокироваться на неопределенный срок. Чтобы убедиться, что #end end метод всегда вызывается, эти методы следует использовать в try>>... >finally блок:

<blockquote>

boolean completed = false;
            try {
                begin();
                completed = ...;    // Perform blocking I/O operation
                return ...;         // Return result
            } finally {
                end(completed);
            }

</blockquote>

Аргумент completed#end end метода указывает, выполнена ли операция ввода-вывода фактически завершена, т. е. имеет ли он какой-либо эффект, видимый вызывающему объекту. В случае операции, которая считывает байты, например, этот аргумент должен быть true , если, и только если некоторые байты были фактически переданы в целевой буфер вызывающего объекта.

Конкретный класс канала также должен реализовать #implCloseChannel implCloseChannel метод таким образом, что если он вызывается, а другой поток блокируется в собственной операции ввода-вывода на канале, то эта операция немедленно возвращается, вызывая исключение или возвращая обычно. Если поток прерван или канал, на котором заблокирован, асинхронно закрыт, метод канала #end end вызовет соответствующее исключение.

Этот класс выполняет синхронизацию, необходимую для реализации спецификации java.nio.channels.Channel . #implCloseChannel implCloseChannel Реализации метода не должны синхронизироваться с другими потоками, которые могут пытаться закрыть канал.

Добавлено в версии 1.4.

Документация по Java для java.nio.channels.spi.AbstractInterruptibleChannel.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

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

AbstractInterruptibleChannel()

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

AbstractInterruptibleChannel(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsOpen

Возвращает значение true, если этот канал открыт.

JniIdentityHashCode

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
JniPeerMembers

Базовый класс реализации для прерываний каналов.

PeerReference

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Begin()

Помечает начало операции ввода-вывода, которая может блокироваться на неопределенный срок.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Close()

Закрывает этот канал.

Dispose()

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
Dispose(Boolean)

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
End(Boolean)

Помечает конец операции ввода-вывода, которая может блокироваться на неопределенный срок.

Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
ImplCloseChannel()

Закрывает этот канал.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ToArray<T>()

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Базовый класс реализации для прерываний каналов.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Базовый класс реализации для прерываний каналов.

GetJniTypeName(IJavaPeerable)

Базовый класс реализации для прерываний каналов.

Применяется к