Язык

ScheduledThreadPoolExecutor Класс

Определение

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

[Android.Runtime.Register("java/util/concurrent/ScheduledThreadPoolExecutor", DoNotGenerateAcw=true)]
public class ScheduledThreadPoolExecutor : Java.Util.Concurrent.ThreadPoolExecutor, IDisposable, 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
Наследование
Атрибуты
Реализации

Комментарии

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться. Этот класс предпочтительнее, если java.util.Timer требуется несколько рабочих потоков, или если требуется дополнительная гибкость или возможности ThreadPoolExecutor (который расширяет этот класс).

Отложенные задачи выполняются не раньше, чем они включены, но без каких-либо гарантий в режиме реального времени о том, когда они будут включены, они начнутся. Задачи, запланированные ровно на то же время выполнения, включены в порядке отправки в первом входе (FIFO).

При отмене отправленной задачи перед запуском выполнение будет отключено. По умолчанию такая отмененная задача не будет автоматически удалена из рабочей очереди до тех пор, пока не истекает задержка. Хотя это обеспечивает дополнительную проверку и мониторинг, она также может привести к неограниченному хранению отмененных задач.

Последовательные выполнение периодической задачи, запланированной через #scheduleAtFixedRate scheduleAtFixedRate или #scheduleWithFixedDelay scheduleWithFixedDelay не перекрывающиеся. В то время как различные выполнения могут выполняться различными потоками, последствия предыдущих выполнений <, которые могут>выполняться раньше< или i> последующих.

Хотя этот класс наследуется от ThreadPoolExecutor, некоторые из унаследованных методов настройки не полезны для него. В частности, поскольку он выступает в качестве пула фиксированного размера с использованием corePoolSize потоков и несвязанной очереди, корректировки maximumPoolSize не имеют полезного эффекта. Кроме того, практически никогда не рекомендуется устанавливать corePoolSize значение нулю или использовать allowCoreThreadTimeOut , так как это может оставить пул без потоков для обработки задач после того, как они становятся подходящими для выполнения.

Как и в ThreadPoolExecutorслучае, если не указано, этот класс используется Executors#defaultThreadFactory в качестве фабрики потоков по умолчанию и ThreadPoolExecutor.AbortPolicy в качестве обработчика выполнения по умолчанию отклонено.

<Примечание>к расширению:</b> Этот класс переопределяет ThreadPoolExecutor#execute(Runnable) execute методы и AbstractExecutorService#submit(Runnable) submit методы для создания внутренних ScheduledFuture объектов для управления задержками и планированием задач. Чтобы сохранить функциональные возможности, любые дальнейшие переопределения этих методов в подклассах должны вызывать версии суперклассов, что фактически отключает дополнительную настройку задач. Однако этот класс предоставляет альтернативный защищенный метод decorateTask расширения (одна версия для Runnable каждого иCallableexecute), который можно использовать для настройки конкретных типов задач, используемых для выполнения команд, введенных через submit, schedulescheduleAtFixedRateи scheduleWithFixedDelay. По умолчанию используется ScheduledThreadPoolExecutorFutureTaskрасширение типа задачи. Однако это может быть изменено или заменено с помощью подклассов формы:

{@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.
            }}

Добавлено в версии 1.5.

Java документации по java.util.concurrent.ScheduledThreadPoolExecutor.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя. Описание
ScheduledThreadPoolExecutor(Int32, IRejectedExecutionHandler)

Создает новый ScheduledThreadPoolExecutor с заданными начальными параметрами.

ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler)

Создает новый ScheduledThreadPoolExecutor с заданными начальными параметрами.

ScheduledThreadPoolExecutor(Int32, IThreadFactory)

Создает новый ScheduledThreadPoolExecutor с заданными начальными параметрами.

ScheduledThreadPoolExecutor(Int32)

Создает новый ScheduledThreadPoolExecutor с заданным размером основного пула.

ScheduledThreadPoolExecutor(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Имя. Описание
ActiveCount

Возвращает приблизительное количество потоков, которые активно выполняют задачи.

(Унаследовано от ThreadPoolExecutor)
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
CompletedTaskCount

Возвращает приблизительное общее количество задач, которые завершили выполнение.

(Унаследовано от ThreadPoolExecutor)
ContinueExistingPeriodicTasksAfterShutdownPolicy

Получает политику о том, следует ли продолжать выполнять существующие периодические задачи, даже если этот исполнитель был shutdown. —или— задает политику о том, следует ли продолжать выполнять существующие периодические задачи, даже если этот исполнитель был shutdown.

CorePoolSize

Возвращает основное число потоков. -или- Задает основное число потоков.

(Унаследовано от ThreadPoolExecutor)
ExecuteExistingDelayedTasksAfterShutdownPolicy

Возвращает политику о том, следует ли выполнять существующие отложенные задачи, даже если этот исполнитель был shutdown. —или— задает политику о том, следует ли выполнять существующие отложенные задачи, даже если этот исполнитель был shutdown.

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsShutdown (Унаследовано от ThreadPoolExecutor)
IsTerminated (Унаследовано от ThreadPoolExecutor)
IsTerminating

Возвращает значение true, если этот исполнитель находится в процессе завершения после #shutdown или #shutdownNow не полностью завершен.

(Унаследовано от ThreadPoolExecutor)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
JniPeerMembers

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

LargestPoolSize

Возвращает наибольшее количество потоков, которые когда-либо находились в пуле.

(Унаследовано от ThreadPoolExecutor)
MaximumPoolSize

Возвращает максимально допустимое количество потоков. -или- задает максимально допустимое количество потоков.

(Унаследовано от ThreadPoolExecutor)
PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
PoolSize

Возвращает текущее количество потоков в пуле.

(Унаследовано от ThreadPoolExecutor)
Queue

Возвращает очередь задач, используемую этим исполнителем.

(Унаследовано от ThreadPoolExecutor)
RejectedExecutionHandler

Возвращает текущий обработчик для невыполнеемых задач. -или- Задает новый обработчик для неисключаемых задач.

(Унаследовано от ThreadPoolExecutor)
RemoveOnCancelPolicy

Получает политику о том, следует ли немедленно удалить отмененные задачи из рабочей очереди во время отмены. —или— задает политику о том, следует ли немедленно удалить отмененные задачи из рабочей очереди во время отмены.

TaskCount

Возвращает приблизительное общее количество задач, которые когда-либо планировались для выполнения.

(Унаследовано от ThreadPoolExecutor)
ThreadFactory

Возвращает фабрику потоков, используемую для создания новых потоков. —или— задает фабрику потоков, используемую для создания новых потоков.

(Унаследовано от ThreadPoolExecutor)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя. Описание
AfterExecute(IRunnable, Throwable)

Метод, вызываемый при завершении выполнения заданного runnable.

(Унаследовано от ThreadPoolExecutor)
AllowCoreThreadTimeOut(Boolean)

Задает политику, указывающую, могут ли основные потоки истекать и завершаться, если задачи не приходят в течение времени поддержания работоспособности, при необходимости заменяются при поступлении новых задач.

(Унаследовано от ThreadPoolExecutor)
AllowsCoreThreadTimeOut()

Возвращает значение true, если этот пул позволяет основным потокам истекать и завершаться, если задачи не приходят в течение времени keepAlive, при необходимости заменяются при поступлении новых задач.

(Унаследовано от ThreadPoolExecutor)
AwaitTermination(Int64, TimeUnit) (Унаследовано от ThreadPoolExecutor)
AwaitTerminationAsync(Int64, TimeUnit)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от AbstractExecutorService)
BeforeExecute(Thread, IRunnable)

Метод, вызываемый до выполнения заданного runnable в данном потоке.

(Унаследовано от ThreadPoolExecutor)
Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
DecorateTask(ICallable, IRunnableScheduledFuture)

Изменяет или заменяет задачу, используемую для выполнения вызываемого метода.

DecorateTask(IRunnable, IRunnableScheduledFuture)

Изменяет или заменяет задачу, используемую для выполнения запуска.

Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
Equals(Object)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
Execute(IRunnable)

Выполняет заданную задачу в будущем.

(Унаследовано от ThreadPoolExecutor)
GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
GetKeepAliveTime(TimeUnit)

Возвращает время сохранения активности потока, то есть время, когда потоки могут оставаться бездействующими перед завершением.

(Унаследовано от ThreadPoolExecutor)
InvokeAll(ICollection, Int64, TimeUnit)

Выполняет заданные задачи, возвращая список фьючерсов, содержащих их состояние и результаты, когда все завершено или истекает время ожидания, в зависимости от того, что происходит в первую очередь.

(Унаследовано от AbstractExecutorService)
InvokeAll(ICollection)

Выполняет заданные задачи, возвращая список фьючерсов, содержащих их состояние и результаты при завершении.

(Унаследовано от AbstractExecutorService)
InvokeAny(ICollection, Int64, TimeUnit)

Выполняет заданные задачи, возвращая результат успешно выполненного (т. е. без исключения), если он выполняется до истечения заданного времени ожидания.

(Унаследовано от AbstractExecutorService)
InvokeAny(ICollection)

Выполняет заданные задачи, возвращая результат успешно выполненного (т. е. без исключения), если это делается.

(Унаследовано от AbstractExecutorService)
JavaFinalize()
Устаревшие.

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
NewTaskFor(ICallable)

RunnableFuture Возвращает объект для данной вызываемой задачи.

(Унаследовано от AbstractExecutorService)
NewTaskFor(IRunnable, Object)

RunnableFuture Возвращает значение для заданного значения runnable и по умолчанию.

(Унаследовано от AbstractExecutorService)
Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
PrestartAllCoreThreads()

Запускает все основные потоки, что приводит к простой ожиданию работы.

(Унаследовано от ThreadPoolExecutor)
PrestartCoreThread()

Запускает основной поток, что приводит к простой ожиданию работы.

(Унаследовано от ThreadPoolExecutor)
Purge()

Пытается удалить из рабочей очереди все Future задачи, которые были отменены.

(Унаследовано от ThreadPoolExecutor)
Remove(IRunnable)

Удаляет эту задачу из внутренней очереди исполнителя, если она присутствует, что приводит к тому, что она не будет запущена, если она еще не запущена.

(Унаследовано от ThreadPoolExecutor)
Schedule(ICallable, Int64, TimeUnit)

Отправляет задачу с возвратом значения, которая становится включенной после заданной задержки.

Schedule(IRunnable, Int64, TimeUnit)

Создает и выполняет однозастрелное действие, которое становится включено после заданной задержки.

ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit)

Отправляет периодическое действие, которое сначала включается после заданной начальной задержки, а затем с заданным периодом; то есть, казни начнутся после initialDelay, а затем initialDelay + period, а затем initialDelay + 2 * periodи т. д.

ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit)

Отправляет периодическое действие, которое включается сначала после заданной начальной задержки, а затем с заданной задержкой между завершением одного выполнения и началом следующего.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetKeepAliveTime(Int64, TimeUnit)

Задает время сохранения активности потока, то есть время, когда потоки могут оставаться бездействующими перед завершением.

(Унаследовано от ThreadPoolExecutor)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
Shutdown()

Инициирует упорядоченное завершение работы, в котором выполняются ранее отправленные задачи, но новые задачи не будут приняты.

(Унаследовано от ThreadPoolExecutor)
ShutdownNow()

Пытается остановить все активно выполняемые задачи, останавливает обработку задач ожидания и возвращает список задач, ожидающих выполнения.

(Унаследовано от ThreadPoolExecutor)
Submit(ICallable)

Отправляет задачу возврата значений для выполнения и возвращает будущее, представляющее ожидающие результаты задачи.

(Унаследовано от AbstractExecutorService)
Submit(IRunnable, Object)

Отправляет задачу Runnable для выполнения и возвращает будущее, представляющее задачу.

(Унаследовано от AbstractExecutorService)
Submit(IRunnable)

Отправляет задачу Runnable для выполнения и возвращает будущее, представляющее задачу.

(Унаследовано от AbstractExecutorService)
Terminated()

Метод вызывается при завершении выполнения исполнителя.

(Унаследовано от ThreadPoolExecutor)
ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя. Описание
IJavaPeerable.Disposed()

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

Методы расширения

Имя. Описание
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

InvokeAnyAsync(IExecutorService, ICollection)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Объект, ThreadPoolExecutor который также может запланировать выполнение команд после заданной задержки или периодически выполняться.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к