AbstractInterruptibleChannel Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Kelas implementasi dasar untuk saluran yang dapat diinterupsi.
[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
- Warisan
- Turunan
- Atribut
- Penerapan
Keterangan
Kelas implementasi dasar untuk saluran yang dapat diinterupsi.
Kelas ini merangkum mesin tingkat rendah yang diperlukan untuk mengimplementasikan penutupan asinkron dan gangguan saluran. Kelas saluran konkret harus memanggil #begin begin
metode dan sebelum dan #end end
sesudah, masing-masing, memanggil operasi I/O yang mungkin memblokir tanpa batas waktu. Untuk memastikan bahwa #end end
metode selalu dipanggil, metode ini harus digunakan dalam try
... finally
halangi:
<blockquote>
boolean completed = false;
try {
begin();
completed = ...; // Perform blocking I/O operation
return ...; // Return result
} finally {
end(completed);
}
</blockquote>
Argumen completed
untuk #end end
metode memberi tahu apakah operasi I/O benar-benar selesai atau tidak, yaitu, apakah itu memiliki efek yang akan terlihat oleh pemanggil. Dalam kasus operasi yang membaca byte, misalnya, argumen ini harus true
jika, dan hanya jika, beberapa byte benar-benar ditransfer ke buffer target pemanggil.
Kelas saluran konkret juga harus menerapkan #implCloseChannel implCloseChannel
metode sedemikian rupa sehingga jika dipanggil sementara utas lain diblokir dalam operasi I/O asli pada saluran maka operasi tersebut akan segera kembali, baik dengan melempar pengecualian atau dengan kembali secara normal. Jika utas terganggu atau saluran yang diblokir ditutup secara asinkron, metode saluran #end end
akan melemparkan pengecualian yang sesuai.
Kelas ini melakukan sinkronisasi yang diperlukan untuk mengimplementasikan java.nio.channels.Channel
spesifikasi. Implementasi metode tidak perlu disinkronkan #implCloseChannel implCloseChannel
terhadap utas lain yang mungkin mencoba menutup saluran.
Ditambahkan dalam 1.4.
Dokumentasi Java untuk java.nio.channels.spi.AbstractInterruptibleChannel
.
Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.
Konstruktor
AbstractInterruptibleChannel() |
Menginisialisasi instans baru kelas ini. |
AbstractInterruptibleChannel(IntPtr, JniHandleOwnership) |
Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime. |
Properti
Class |
Mengembalikan kelas runtime dari . |
Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
IsOpen |
Mengembalikan true jika saluran ini terbuka. |
JniIdentityHashCode |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
JniPeerMembers |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. |
PeerReference |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
ThresholdClass |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
ThresholdType |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
Metode
Begin() |
Menandai awal operasi I/O yang mungkin memblokir tanpa batas waktu. |
Clone() |
Membuat dan mengembalikan salinan objek ini. (Diperoleh dari Object) |
Close() |
Menutup saluran ini. |
Dispose() |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
Dispose(Boolean) |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
End(Boolean) |
Menandai akhir operasi I/O yang mungkin memblokir tanpa batas waktu. |
Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
ImplCloseChannel() |
Menutup saluran ini. |
JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
Notify() |
Membangunkan satu utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
NotifyAll() |
Membangunkan semua utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Handle Mengatur properti. (Diperoleh dari Object) |
ToArray<T>() |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
UnregisterFromRuntime() |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
Wait() |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>. (Diperoleh dari Object) |
Wait(Int64) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu. (Diperoleh dari Object) |
Wait(Int64, Int32) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
IJavaPeerable.Disposed() |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
IJavaPeerable.Finalized() |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
IJavaPeerable.JniManagedPeerState |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. (Diperoleh dari Object) |
Metode Ekstensi
JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android. |
JavaCast<TResult>(IJavaObject) |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. |
GetJniTypeName(IJavaPeerable) |
Kelas implementasi dasar untuk saluran yang dapat diinterupsi. |