ScheduledThreadPoolExecutor 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.
ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.
[Android.Runtime.Register("java/util/concurrent/ScheduledThreadPoolExecutor", DoNotGenerateAcw=true)]
public class ScheduledThreadPoolExecutor : Java.Util.Concurrent.ThreadPoolExecutor, IDisposable, Java.Interop.IJavaPeerable, Java.Util.Concurrent.IScheduledExecutorService
[<Android.Runtime.Register("java/util/concurrent/ScheduledThreadPoolExecutor", DoNotGenerateAcw=true)>]
type ScheduledThreadPoolExecutor = class
inherit ThreadPoolExecutor
interface IScheduledExecutorService
interface IExecutorService
interface IExecutor
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Warisan
- Atribut
- Penerapan
Keterangan
ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala. Kelas ini lebih disukai java.util.Timer ketika beberapa utas pekerja diperlukan, atau ketika fleksibilitas atau kemampuan ThreadPoolExecutor tambahan (yang diperlukan kelas ini) .
Tugas yang tertunda dijalankan tidak lebih cepat dari yang diaktifkan, tetapi tanpa jaminan real time tentang kapan, setelah diaktifkan, tugas akan dimulai. Tugas yang dijadwalkan untuk waktu eksekusi yang sama persis diaktifkan dalam urutan pengiriman first-in-first-out (FIFO).
Ketika tugas yang dikirimkan dibatalkan sebelum dijalankan, eksekusi ditekan. Secara default, tugas yang dibatalkan tersebut tidak dihapus secara otomatis dari antrean kerja hingga penundaannya berlalu. Meskipun ini memungkinkan inspeksi dan pemantauan lebih lanjut, ini juga dapat menyebabkan retensi tugas yang dibatalkan yang tidak terbatas.
Eksekusi berturut-turut dari tugas berkala yang dijadwalkan melalui #scheduleAtFixedRate scheduleAtFixedRate atau #scheduleWithFixedDelay scheduleWithFixedDelay tidak tumpang tindih. Meskipun eksekusi yang berbeda dapat dilakukan oleh utas yang berbeda, efek eksekusi <sebelumnya saya>terjadi sebelumnya</i> yang dari yang berikutnya.
Meskipun kelas ini mewarisi dari ThreadPoolExecutor, beberapa metode penyetelan yang diwariskan tidak berguna untuk itu. Secara khusus, karena bertindak sebagai kumpulan berukuran tetap menggunakan corePoolSize utas dan antrean yang tidak terbatas, penyesuaian untuk maximumPoolSize tidak memiliki efek yang berguna. Selain itu, hampir tidak pernah ada ide yang baik untuk mengatur corePoolSize ke nol atau menggunakan allowCoreThreadTimeOut karena ini dapat meninggalkan kumpulan tanpa utas untuk menangani tugas setelah memenuhi syarat untuk dijalankan.
ThreadPoolExecutorSeperti halnya , jika tidak ditentukan lain, kelas ini menggunakan sebagai pabrik utas Executors#defaultThreadFactory default, dan ThreadPoolExecutor.AbortPolicy sebagai penangan eksekusi yang ditolak default.
<b>Catatan ekstensi:</b> Kelas ini mengambil alih ThreadPoolExecutor#execute(Runnable) execute metode dan AbstractExecutorService#submit(Runnable) submit untuk menghasilkan objek internal ScheduledFuture untuk mengontrol penundaan dan penjadwalan per tugas. Untuk mempertahankan fungsionalitas, setiap penggantian lebih lanjut dari metode ini dalam subkelas harus memanggil versi superclass, yang secara efektif menonaktifkan penyesuaian tugas tambahan. Namun, kelas ini menyediakan metode decorateTask ekstensi alternatif yang dilindungi (masing-masing satu versi untuk Runnable dan Callable) yang dapat digunakan untuk menyesuaikan jenis tugas konkret yang digunakan untuk menjalankan perintah yang dimasukkan melalui execute, , submitschedule, scheduleAtFixedRate, dan scheduleWithFixedDelay. Secara default, ScheduledThreadPoolExecutor menggunakan jenis tugas yang diperluas FutureTask. Namun, ini dapat dimodifikasi atau diganti menggunakan subkelas formulir:
{@code
public class CustomScheduledExecutor extends ScheduledThreadPoolExecutor {
static class CustomTask<V> implements RunnableScheduledFuture<V> { ... }
protected <V> RunnableScheduledFuture<V> decorateTask(
Runnable r, RunnableScheduledFuture<V> task) {
return new CustomTask<V>(r, task);
}
protected <V> RunnableScheduledFuture<V> decorateTask(
Callable<V> c, RunnableScheduledFuture<V> task) {
return new CustomTask<V>(c, task);
}
// ... add constructors, etc.
}}
Ditambahkan dalam 1.5.
Dokumentasi Java untuk java.util.concurrent.ScheduledThreadPoolExecutor.
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
| ScheduledThreadPoolExecutor(Int32) |
Membuat baru |
| ScheduledThreadPoolExecutor(Int32, IRejectedExecutionHandler) |
Membuat baru |
| ScheduledThreadPoolExecutor(Int32, IThreadFactory) |
Membuat baru |
| ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler) |
Membuat baru |
| ScheduledThreadPoolExecutor(IntPtr, JniHandleOwnership) |
Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime. |
Properti
| ActiveCount |
Mengembalikan perkiraan jumlah utas yang secara aktif menjalankan tugas. (Diperoleh dari ThreadPoolExecutor) |
| Class |
Mengembalikan kelas runtime dari . |
| CompletedTaskCount |
Mengembalikan perkiraan jumlah total tugas yang telah menyelesaikan eksekusi. (Diperoleh dari ThreadPoolExecutor) |
| ContinueExistingPeriodicTasksAfterShutdownPolicy |
Mendapatkan kebijakan tentang apakah akan terus menjalankan tugas berkala yang ada bahkan ketika pelaksana ini telah |
| CorePoolSize |
Mengembalikan jumlah inti utas. -or- Mengatur jumlah inti utas. (Diperoleh dari ThreadPoolExecutor) |
| ExecuteExistingDelayedTasksAfterShutdownPolicy |
Mendapatkan kebijakan tentang apakah akan menjalankan tugas tertunda yang ada bahkan ketika pelaksana ini telah |
| Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
| IsShutdown |
|
| IsTerminated |
|
| IsTerminating |
Mengembalikan true jika pelaksana ini sedang dalam proses penghentian setelah |
| JniIdentityHashCode |
|
| JniPeerMembers |
|
| LargestPoolSize |
Mengembalikan jumlah utas terbesar yang pernah secara bersamaan berada di kumpulan. (Diperoleh dari ThreadPoolExecutor) |
| MaximumPoolSize |
Mengembalikan jumlah utas maksimum yang diizinkan. -atau- Mengatur jumlah utas maksimum yang diizinkan. (Diperoleh dari ThreadPoolExecutor) |
| PeerReference |
|
| PoolSize |
Mengembalikan jumlah utas saat ini dalam kumpulan. (Diperoleh dari ThreadPoolExecutor) |
| Queue |
Mengembalikan antrean tugas yang digunakan oleh pelaksana ini. (Diperoleh dari ThreadPoolExecutor) |
| RejectedExecutionHandler |
Mengembalikan handler saat ini untuk tugas yang tidak dapat dieksekusi. -or- Mengatur handler baru untuk tugas yang tidak dapat dieksekusi. (Diperoleh dari ThreadPoolExecutor) |
| RemoveOnCancelPolicy |
Mendapatkan kebijakan tentang apakah tugas yang dibatalkan harus segera dihapus dari antrean kerja pada saat pembatalan. -or- Menetapkan kebijakan tentang apakah tugas yang dibatalkan harus segera dihapus dari antrean kerja pada saat pembatalan. |
| TaskCount |
Mengembalikan perkiraan jumlah total tugas yang pernah dijadwalkan untuk eksekusi. (Diperoleh dari ThreadPoolExecutor) |
| ThreadFactory |
Mengembalikan pabrik utas yang digunakan untuk membuat utas baru. -or- Mengatur pabrik utas yang digunakan untuk membuat utas baru. (Diperoleh dari ThreadPoolExecutor) |
| 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
| AfterExecute(IRunnable, Throwable) |
Metode yang dipanggil setelah selesai menjalankan Runnable yang diberikan. (Diperoleh dari ThreadPoolExecutor) |
| AllowCoreThreadTimeOut(Boolean) |
Mengatur kebijakan yang mengatur apakah utas inti mungkin kehabisan waktu dan berakhir jika tidak ada tugas yang tiba dalam waktu tetap hidup, diganti jika diperlukan saat tugas baru tiba. (Diperoleh dari ThreadPoolExecutor) |
| AllowsCoreThreadTimeOut() |
Mengembalikan true jika kumpulan ini memungkinkan utas inti kehabisan waktu dan berakhir jika tidak ada tugas yang tiba dalam waktu keepAlive, diganti jika diperlukan saat tugas baru tiba. (Diperoleh dari ThreadPoolExecutor) |
| AwaitTermination(Int64, TimeUnit) |
|
| AwaitTerminationAsync(Int64, TimeUnit) |
|
| BeforeExecute(Thread, IRunnable) |
Metode yang dipanggil sebelum menjalankan Runnable yang diberikan dalam utas yang diberikan. (Diperoleh dari ThreadPoolExecutor) |
| Clone() |
Membuat dan mengembalikan salinan objek ini. (Diperoleh dari Object) |
| DecorateTask(ICallable, IRunnableScheduledFuture) |
Memodifikasi atau mengganti tugas yang digunakan untuk menjalankan yang dapat dipanggil. |
| DecorateTask(IRunnable, IRunnableScheduledFuture) |
Memodifikasi atau mengganti tugas yang digunakan untuk menjalankan yang dapat dijalankan. |
| Dispose() |
|
| Dispose(Boolean) |
|
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| Execute(IRunnable) |
Menjalankan tugas yang diberikan suatu saat di masa mendatang. (Diperoleh dari ThreadPoolExecutor) |
| GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
| GetKeepAliveTime(TimeUnit) |
Mengembalikan waktu keep-alive thread, yang merupakan jumlah waktu utas mungkin tetap menganggur sebelum dihentikan. (Diperoleh dari ThreadPoolExecutor) |
| InvokeAll(ICollection) |
|
| InvokeAll(ICollection, Int64, TimeUnit) |
|
| InvokeAny(ICollection) |
|
| InvokeAny(ICollection, Int64, TimeUnit) |
|
| JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
| NewTaskFor(ICallable) |
Mengembalikan untuk tugas yang |
| NewTaskFor(IRunnable, Object) |
Mengembalikan |
| Notify() |
Membangunkan satu utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| NotifyAll() |
Membangunkan semua utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| PrestartAllCoreThreads() |
Memulai semua utas inti, menyebabkannya tidak menunggu pekerjaan. (Diperoleh dari ThreadPoolExecutor) |
| PrestartCoreThread() |
Memulai utas inti, menyebabkannya tidak menunggu pekerjaan. (Diperoleh dari ThreadPoolExecutor) |
| Purge() |
Mencoba menghapus dari antrean kerja semua |
| Remove(IRunnable) |
Menghapus tugas ini dari antrean internal pelaksana jika ada, sehingga menyebabkannya tidak dijalankan jika belum dimulai. (Diperoleh dari ThreadPoolExecutor) |
| Schedule(ICallable, Int64, TimeUnit) |
|
| Schedule(IRunnable, Int64, TimeUnit) |
Membuat dan menjalankan tindakan satu bidikan yang diaktifkan setelah penundaan yang diberikan. |
| ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit) |
Mengirimkan tindakan berkala yang diaktifkan terlebih dahulu setelah penundaan awal yang diberikan, dan kemudian dengan periode tertentu; artinya, eksekusi akan dimulai setelah |
| ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit) |
Mengirimkan tindakan berkala yang menjadi diaktifkan terlebih dahulu setelah penundaan awal yang diberikan, dan kemudian dengan penundaan yang diberikan antara penghentian satu eksekusi dan dimulainya eksekusi berikutnya. |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle Mengatur properti. (Diperoleh dari Object) |
| SetKeepAliveTime(Int64, TimeUnit) |
Mengatur waktu tetap aktif utas, yang merupakan jumlah waktu utas mungkin tetap menganggur sebelum dihentikan. (Diperoleh dari ThreadPoolExecutor) |
| Shutdown() |
Memulai pematian tertib di mana tugas yang dikirim sebelumnya dijalankan, tetapi tidak ada tugas baru yang akan diterima. (Diperoleh dari ThreadPoolExecutor) |
| ShutdownNow() |
Upaya untuk menghentikan semua tugas yang dijalankan secara aktif, menghentikan pemrosesan tugas tunggu, dan mengembalikan daftar tugas yang sedang menunggu eksekusi. (Diperoleh dari ThreadPoolExecutor) |
| Submit(ICallable) |
|
| Submit(IRunnable) |
Mengirimkan tugas yang Dapat Dijalankan untuk eksekusi dan mengembalikan Masa Depan yang mewakili tugas tersebut. (Diperoleh dari AbstractExecutorService) |
| Submit(IRunnable, Object) |
|
| Terminated() |
Metode dipanggil ketika Pelaksana telah dihentikan. (Diperoleh dari ThreadPoolExecutor) |
| ToArray<T>() |
|
| ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
| UnregisterFromRuntime() |
|
| 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() |
|
| IJavaPeerable.DisposeUnlessReferenced() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniManagedPeerState |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Metode Ekstensi
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android. |
| JavaCast<TResult>(IJavaObject) |
|
| GetJniTypeName(IJavaPeerable) |
|
| AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
|
| InvokeAnyAsync(IExecutorService, ICollection) |
|
| InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
|