AsynchronousChannelGroup 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.
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya.
[Android.Runtime.Register("java/nio/channels/AsynchronousChannelGroup", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousChannelGroup : Java.Lang.Object
[<Android.Runtime.Register("java/nio/channels/AsynchronousChannelGroup", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousChannelGroup = class
inherit Object
- Warisan
- Atribut
Keterangan
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya.
Grup saluran asinkron merangkum mekanisme yang diperlukan untuk menangani penyelesaian operasi I/O yang dimulai oleh AsynchronousChannel asynchronous channels yang terikat ke grup. Grup memiliki kumpulan utas terkait tempat tugas dikirimkan untuk menangani peristiwa I/O dan mengirimkan ke CompletionHandler completion-handlers yang menggunakan hasil operasi asinkron yang dilakukan pada saluran dalam grup. Selain menangani peristiwa I/O, utas yang dikumpulkan juga dapat menjalankan tugas lain yang diperlukan untuk mendukung eksekusi operasi I/O asinkron.
Grup saluran asinkron dibuat dengan memanggil metode atau #withCachedThreadPool withCachedThreadPool yang #withFixedThreadPool withFixedThreadPool ditentukan di sini. Saluran terikat ke grup dengan menentukan grup saat membuat saluran. Kumpulan utas terkait dimiliki<></em> oleh grup; penghentian grup menghasilkan pematian kumpulan utas terkait.
Selain grup yang dibuat secara eksplisit, komputer virtual Java mempertahankan grup</em> default seluruh>sistem <yang dibangun secara otomatis. Saluran asinkron yang tidak menentukan grup pada waktu konstruksi terikat ke grup default. Grup default memiliki kumpulan utas terkait yang membuat utas baru sesuai kebutuhan. Grup default dapat dikonfigurasi dengan cara properti sistem yang ditentukan dalam tabel di bawah ini. java.util.concurrent.ThreadFactory ThreadFactory Jika untuk grup default tidak dikonfigurasi, maka utas yang dikumpulkan dari grup default adalah Thread#isDaemon daemon utas.
<table class="striped">caption style="display:none:">System properties</caption><thead><tr><th scope="col">System property</th<>scope="col">Description</th<>/tr></thead><tr>><<th scope="row"java.nio.channels.DefaultThreadPool.threadFactory<>/th><td> Nilai properti ini diambil untuk menjadi nama kelas beton java.util.concurrent.ThreadFactory ThreadFactory yang sepenuhnya memenuhi syarat.< Kelas dimuat menggunakan pemuat kelas sistem dan dibuat instans. Metode pabrik java.util.concurrent.ThreadFactory#newThread newThread dipanggil untuk membuat setiap utas untuk kumpulan utas grup default. Jika proses untuk memuat dan membuat instans nilai properti gagal, maka kesalahan yang tidak ditentukan dilemparkan selama pembangunan grup default. </td></tr tr>><<th scope="row"java.nio.channels.DefaultThreadPool.initialSize<>/th><td> Nilai initialSize parameter untuk grup default (lihat ).#withCachedThreadPool withCachedThreadPool Nilai properti diambil untuk menjadi String representasi dari Integer parameter ukuran awal. Jika nilai tidak dapat diurai karena Integer menyebabkan kesalahan yang tidak ditentukan dilemparkan selama pembangunan grup default. </td></tr></tbody></table>
"threading"><h2>Threading</h2>
Handler penyelesaian untuk operasi I/O yang dimulai pada saluran yang terikat ke grup dijamin akan dipanggil oleh salah satu utas yang dikumpulkan dalam grup. Ini memastikan bahwa handler penyelesaian dijalankan oleh utas dengan identitas</em> yang>diharapkan<.
Ketika operasi I/O segera selesai, dan utas yang memulai adalah salah satu utas yang dikumpulkan dalam grup, maka handler penyelesaian dapat dipanggil langsung oleh utas yang memulai. Untuk menghindari luapan tumpukan, implementasi dapat memberlakukan batas jumlah aktivasi pada tumpukan utas. Beberapa operasi I/O mungkin melarang pemanggilan handler penyelesaian secara langsung oleh utas yang memulai (lihat AsynchronousServerSocketChannel#accept(Object,CompletionHandler) accept).
"shutdown"><h2>Shutdown and Termination</h2>
Metode #shutdown() shutdown ini digunakan untuk memulai <>pematian</em> tertib grup. Pematian tertib menandai grup sebagai matikan; upaya lebih lanjut untuk membangun saluran yang mengikat ke grup akan melemparkan ShutdownChannelGroupException. Apakah grup dimatikan atau tidak dapat diuji menggunakan metode .#isShutdown() isShutdown Setelah dimatikan, grup <dihentikan></em> ketika semua saluran asinkron yang terikat ke grup ditutup, semua penangan penyelesaian yang dijalankan secara aktif telah berjalan hingga selesai, dan sumber daya yang digunakan oleh grup dirilis. Tidak ada upaya yang dilakukan untuk menghentikan atau mengganggu utas yang mengeksekusi penangan penyelesaian. Metode #isTerminated() isTerminated ini digunakan untuk menguji apakah grup telah dihentikan, dan #awaitTermination awaitTermination metode dapat digunakan untuk memblokir hingga grup dihentikan.
Metode #shutdownNow() shutdownNow ini dapat digunakan untuk memulai <>pematian</em> paksa dari grup. Selain tindakan yang dilakukan oleh pematian tertib, shutdownNow metode menutup semua saluran terbuka dalam grup seolah-olah dengan memanggil AsynchronousChannel#close close metode .
Ditambahkan dalam 1.7.
Dokumentasi Java untuk java.nio.channels.AsynchronousChannelGroup.
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
| AsynchronousChannelGroup(AsynchronousChannelProvider) |
Menginisialisasi instans baru kelas ini. |
| AsynchronousChannelGroup(IntPtr, JniHandleOwnership) |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. |
Properti
| Class |
Mengembalikan kelas runtime dari . |
| Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
| IsShutdown |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. |
| IsTerminated |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. |
| JniIdentityHashCode |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| JniPeerMembers |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. |
| PeerReference |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| ThresholdClass |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. |
| ThresholdType |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. |
Metode
| AwaitTermination(Int64, TimeUnit) |
Menunggu penghentian grup. |
| Clone() |
Membuat dan mengembalikan salinan objek ini. (Diperoleh dari Object) |
| Dispose() |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| Dispose(Boolean) |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| 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) |
| 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) |
| Provider() |
Mengembalikan penyedia yang membuat grup saluran ini. |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle Mengatur properti. (Diperoleh dari Object) |
| Shutdown() |
Memulai penonaktifan grup secara teratur. |
| ShutdownNow() |
Mematikan grup dan menutup semua saluran terbuka dalam grup. |
| ToArray<T>() |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
| UnregisterFromRuntime() |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| Wait() |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>. (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) |
| 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) |
| WithCachedThreadPool(IExecutorService, Int32) |
Membuat grup saluran asinkron dengan kumpulan utas tertentu yang membuat utas baru sesuai kebutuhan. |
| WithFixedThreadPool(Int32, IThreadFactory) |
Membuat grup saluran asinkron dengan kumpulan utas tetap. |
| WithThreadPool(IExecutorService) |
Membuat grup saluran asinkron dengan kumpulan utas tertentu. |
Implementasi Antarmuka Eksplisit
| IJavaPeerable.Disposed() |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| IJavaPeerable.Finalized() |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| IJavaPeerable.JniManagedPeerState |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. (Diperoleh dari Object) |
Metode Ekstensi
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android. |
| JavaCast<TResult>(IJavaObject) |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. |
| GetJniTypeName(IJavaPeerable) |
Pengelompokan saluran asinkron untuk tujuan berbagi sumber daya. |