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 License.
Конструкторы
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() |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.>< (Унаследовано от 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) |
Базовый класс реализации для прерываемых каналов. |