Bagikan melalui


ScheduledThreadPoolExecutor Kelas

Definisi

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 dengan ukuran kumpulan inti yang diberikan.

ScheduledThreadPoolExecutor(Int32, IRejectedExecutionHandler)

Membuat baru ScheduledThreadPoolExecutor dengan parameter awal yang diberikan.

ScheduledThreadPoolExecutor(Int32, IThreadFactory)

Membuat baru ScheduledThreadPoolExecutor dengan parameter awal yang diberikan.

ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler)

Membuat baru ScheduledThreadPoolExecutor dengan parameter awal yang diberikan.

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 .Object

(Diperoleh dari Object)
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 shutdown. -atau- Menetapkan kebijakan tentang apakah akan terus menjalankan tugas berkala yang ada bahkan ketika pelaksana ini telah shutdown.

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 shutdown. -or- Mengatur kebijakan tentang apakah akan menjalankan tugas tertunda yang ada bahkan ketika pelaksana ini telah shutdown.

Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
IsShutdown

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari ThreadPoolExecutor)
IsTerminated

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari ThreadPoolExecutor)
IsTerminating

Mengembalikan true jika pelaksana ini sedang dalam proses penghentian setelah #shutdown atau #shutdownNow tetapi belum sepenuhnya dihentikan.

(Diperoleh dari ThreadPoolExecutor)
JniIdentityHashCode

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
JniPeerMembers

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

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

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
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)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari ThreadPoolExecutor)
AwaitTerminationAsync(Int64, TimeUnit)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari AbstractExecutorService)
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()

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
Dispose(Boolean)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
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)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari AbstractExecutorService)
InvokeAll(ICollection, Int64, TimeUnit)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari AbstractExecutorService)
InvokeAny(ICollection)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari AbstractExecutorService)
InvokeAny(ICollection, Int64, TimeUnit)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari AbstractExecutorService)
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 RunnableFuture dapat dipanggil yang diberikan.

(Diperoleh dari AbstractExecutorService)
NewTaskFor(IRunnable, Object)

Mengembalikan RunnableFuture untuk nilai yang dapat dijalankan dan default yang diberikan.

(Diperoleh dari AbstractExecutorService)
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 Future tugas yang telah dibatalkan.

(Diperoleh dari ThreadPoolExecutor)
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)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

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 initialDelay, lalu initialDelay + period, lalu initialDelay + 2 * period, dan seterusnya.

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)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari AbstractExecutorService)
Submit(IRunnable)

Mengirimkan tugas yang Dapat Dijalankan untuk eksekusi dan mengembalikan Masa Depan yang mewakili tugas tersebut.

(Diperoleh dari AbstractExecutorService)
Submit(IRunnable, Object)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari AbstractExecutorService)
Terminated()

Metode dipanggil ketika Pelaksana telah dihentikan.

(Diperoleh dari ThreadPoolExecutor)
ToArray<T>()

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
UnregisterFromRuntime()

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(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()

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
IJavaPeerable.DisposeUnlessReferenced()

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
IJavaPeerable.Finalized()

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
IJavaPeerable.JniManagedPeerState

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

(Diperoleh dari Object)

Metode Ekstensi

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android.

JavaCast<TResult>(IJavaObject)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

GetJniTypeName(IJavaPeerable)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

InvokeAnyAsync(IExecutorService, ICollection)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

ThreadPoolExecutor Yang juga dapat menjadwalkan perintah untuk dijalankan setelah penundaan tertentu, atau untuk dijalankan secara berkala.

Berlaku untuk