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
- Наследование
- Производный
- Атрибуты
- Реализации
Комментарии
Базовый класс реализации для прерываний каналов.
Этот класс инкапсулирует низкоуровневый механизм, необходимый для реализации асинхронного закрытия и прерывания каналов. Конкретный класс канала должен вызывать #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 |
Возвращает класс среды выполнения этого |
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, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>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) |
Базовый класс реализации для прерываний каналов. |