ScheduledThreadPoolExecutor Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Объект, ThreadPoolExecutor
который также может запланировать выполнение команд после заданной задержки или периодически выполняться.
[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
- Наследование
- Атрибуты
- Реализации
Комментарии
Объект, 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
каждого иCallable
scheduleWithFixedDelay
), который можно использовать для настройки конкретных типов задач, используемых для выполнения команд, введенных через execute
, schedule
submit
и scheduleAtFixedRate
. По умолчанию используется ScheduledThreadPoolExecutor
FutureTask
расширение типа задачи. Однако это может быть изменено или заменено с помощью подклассов формы:
{@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
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
ScheduledThreadPoolExecutor(Int32) |
Создает новый |
ScheduledThreadPoolExecutor(Int32, IRejectedExecutionHandler) |
Создает новый |
ScheduledThreadPoolExecutor(Int32, IThreadFactory) |
Создает новый |
ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler) |
Создает новый |
ScheduledThreadPoolExecutor(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Свойства
ActiveCount |
Возвращает приблизительное количество потоков, которые активно выполняют задачи. (Унаследовано от ThreadPoolExecutor) |
Class |
Возвращает класс среды выполнения этого |
CompletedTaskCount |
Возвращает приблизительное общее количество задач, которые завершили выполнение. (Унаследовано от ThreadPoolExecutor) |
ContinueExistingPeriodicTasksAfterShutdownPolicy |
Получает политику о том, следует ли продолжать выполнять существующие периодические задачи, даже если этот исполнитель был |
CorePoolSize |
Возвращает основное число потоков. -или- Задает основное число потоков. (Унаследовано от ThreadPoolExecutor) |
ExecuteExistingDelayedTasksAfterShutdownPolicy |
Возвращает политику о том, следует ли выполнять существующие отложенные задачи, даже если этот исполнитель был |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
IsShutdown |
Объект, |
IsTerminated |
Объект, |
IsTerminating |
Возвращает значение true, если этот исполнитель находится в процессе завершения после |
JniIdentityHashCode |
Объект, |
JniPeerMembers |
Объект, |
LargestPoolSize |
Возвращает наибольшее количество потоков, которые когда-либо находились в пуле. (Унаследовано от ThreadPoolExecutor) |
MaximumPoolSize |
Возвращает максимально допустимое количество потоков. -или- задает максимально допустимое количество потоков. (Унаследовано от ThreadPoolExecutor) |
PeerReference |
Объект, |
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) |
Объект, |
AwaitTerminationAsync(Int64, TimeUnit) |
Объект, |
BeforeExecute(Thread, IRunnable) |
Метод, вызываемый до выполнения заданного runnable в данном потоке. (Унаследовано от ThreadPoolExecutor) |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
DecorateTask(ICallable, IRunnableScheduledFuture) |
Изменяет или заменяет задачу, используемую для выполнения вызываемого метода. |
DecorateTask(IRunnable, IRunnableScheduledFuture) |
Изменяет или заменяет задачу, используемую для выполнения запуска. |
Dispose() |
Объект, |
Dispose(Boolean) |
Объект, |
Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
Execute(IRunnable) |
Выполняет заданную задачу в будущем. (Унаследовано от ThreadPoolExecutor) |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
GetKeepAliveTime(TimeUnit) |
Возвращает время сохранения активности потока, то есть время, когда потоки могут оставаться бездействующими перед завершением. (Унаследовано от ThreadPoolExecutor) |
InvokeAll(ICollection) |
Объект, |
InvokeAll(ICollection, Int64, TimeUnit) |
Объект, |
InvokeAny(ICollection) |
Объект, |
InvokeAny(ICollection, Int64, TimeUnit) |
Объект, |
JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
NewTaskFor(ICallable) |
|
NewTaskFor(IRunnable, Object) |
|
Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
PrestartAllCoreThreads() |
Запускает все основные потоки, что приводит к простой ожиданию работы. (Унаследовано от ThreadPoolExecutor) |
PrestartCoreThread() |
Запускает основной поток, что приводит к простой ожиданию работы. (Унаследовано от ThreadPoolExecutor) |
Purge() |
Пытается удалить из рабочей очереди все |
Remove(IRunnable) |
Удаляет эту задачу из внутренней очереди исполнителя, если она присутствует, что приводит к тому, что она не будет запущена, если она еще не запущена. (Унаследовано от ThreadPoolExecutor) |
Schedule(ICallable, Int64, TimeUnit) |
Объект, |
Schedule(IRunnable, Int64, TimeUnit) |
Создает и выполняет однозастрелное действие, которое становится включено после заданной задержки. |
ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit) |
Отправляет периодическое действие, которое сначала включается после заданной начальной задержки, а затем с заданным периодом; то есть, казни начнутся после |
ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit) |
Отправляет периодическое действие, которое включается сначала после заданной начальной задержки, а затем с заданной задержкой между завершением одного выполнения и началом следующего. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
SetKeepAliveTime(Int64, TimeUnit) |
Задает время сохранения активности потока, то есть время, когда потоки могут оставаться бездействующими перед завершением. (Унаследовано от ThreadPoolExecutor) |
Shutdown() |
Инициирует упорядоченное завершение работы, в котором выполняются ранее отправленные задачи, но новые задачи не будут приняты. (Унаследовано от ThreadPoolExecutor) |
ShutdownNow() |
Пытается остановить все активно выполняемые задачи, останавливает обработку задач ожидания и возвращает список задач, ожидающих выполнения. (Унаследовано от ThreadPoolExecutor) |
Submit(ICallable) |
Объект, |
Submit(IRunnable) |
Отправляет задачу Runnable для выполнения и возвращает будущее, представляющее задачу. (Унаследовано от AbstractExecutorService) |
Submit(IRunnable, Object) |
Объект, |
Terminated() |
Метод вызывается при завершении выполнения исполнителя. (Унаследовано от ThreadPoolExecutor) |
ToArray<T>() |
Объект, |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Объект, |
Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Объект, |
IJavaPeerable.DisposeUnlessReferenced() |
Объект, |
IJavaPeerable.Finalized() |
Объект, |
IJavaPeerable.JniManagedPeerState |
Объект, |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Объект, |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Объект, |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Объект, |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Объект, |
GetJniTypeName(IJavaPeerable) |
Объект, |
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
Объект, |
InvokeAnyAsync(IExecutorService, ICollection) |
Объект, |
InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
Объект, |