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 License.

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

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

Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.><

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

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

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

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

(Унаследовано от 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)

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

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