ScheduledThreadPoolExecutor Classe

Definição

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

[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
Herança
Atributos
Implementações

Comentários

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente. Essa classe é preferível quando java.util.Timer vários threads de trabalho são necessários ou quando a flexibilidade adicional ou os recursos (dos ThreadPoolExecutor quais essa classe se estende) são necessários.

Tarefas atrasadas são executadas antes de serem habilitadas, mas sem garantias em tempo real sobre quando, depois de habilitadas, elas serão iniciadas. As tarefas agendadas para exatamente o mesmo tempo de execução são habilitadas na ordem de envio primeiro a entrar em primeiro lugar (FIFO).

Quando uma tarefa enviada é cancelada antes de ser executada, a execução é suprimida. Por padrão, essa tarefa cancelada não é removida automaticamente da fila de trabalho até que o atraso seja decorrido. Embora isso habilite a inspeção e o monitoramento adicionais, isso também pode causar retenção não limitada de tarefas canceladas.

Execuções sucessivas de uma tarefa periódica agendada por meio #scheduleAtFixedRate scheduleAtFixedRate ou #scheduleWithFixedDelay scheduleWithFixedDelay não se sobrepõem. Embora execuções diferentes possam ser executadas por threads diferentes, os efeitos das execuções <anteriores ocorrem>antes</i> das seguintes.

Embora essa classe herda, ThreadPoolExecutoralguns dos métodos de ajuste herdados não são úteis para ela. Em particular, como ele atua como um pool de tamanho fixo usando corePoolSize threads e uma fila não associado, os ajustes não maximumPoolSize têm nenhum efeito útil. Além disso, quase nunca é uma boa ideia definir corePoolSize como zero ou usar allowCoreThreadTimeOut , pois isso pode deixar o pool sem threads para lidar com tarefas depois que elas se tornarem elegíveis para execução.

Assim como ocorre com ThreadPoolExecutor, se não for especificado de outra forma, essa classe usará como a fábrica de threads Executors#defaultThreadFactory padrão e ThreadPoolExecutor.AbortPolicy como o manipulador de execução rejeitado padrão.

<b>Notas de extensão:</b> Essa classe substitui os métodos e AbstractExecutorService#submit(Runnable) submit os ThreadPoolExecutor#execute(Runnable) execute métodos para gerar objetos internos ScheduledFuture para controlar atrasos por tarefa e agendamento. Para preservar a funcionalidade, quaisquer substituições adicionais desses métodos em subclasses devem invocar versões de superclasse, o que efetivamente desabilita a personalização de tarefas adicionais. No entanto, essa classe fornece um método decorateTask de extensão protegido alternativo (uma versão para Runnable e Callable) que pode ser usado para personalizar os tipos de tarefa concretos usados para executar comandos inseridos por meio executede , , submit, schedulee scheduleAtFixedRatescheduleWithFixedDelay. Por padrão, um ScheduledThreadPoolExecutor tipo de tarefa é usado estendendo FutureTask. No entanto, isso pode ser modificado ou substituído usando subclasses do formulário:

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

Adicionado em 1.5.

Java documentação para java.util.concurrent.ScheduledThreadPoolExecutor.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
ScheduledThreadPoolExecutor(Int32, IRejectedExecutionHandler)

Cria um novo ScheduledThreadPoolExecutor com os parâmetros iniciais especificados.

ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler)

Cria um novo ScheduledThreadPoolExecutor com os parâmetros iniciais especificados.

ScheduledThreadPoolExecutor(Int32, IThreadFactory)

Cria um novo ScheduledThreadPoolExecutor com os parâmetros iniciais especificados.

ScheduledThreadPoolExecutor(Int32)

Cria um novo ScheduledThreadPoolExecutor com o tamanho do pool de núcleos especificado.

ScheduledThreadPoolExecutor(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime.

Propriedades

Nome Description
ActiveCount

Retorna o número aproximado de threads que estão executando tarefas ativamente.

(Herdado de ThreadPoolExecutor)
Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
CompletedTaskCount

Retorna o número total aproximado de tarefas que concluíram a execução.

(Herdado de ThreadPoolExecutor)
ContinueExistingPeriodicTasksAfterShutdownPolicy

Obtém a política sobre se deve continuar executando tarefas periódicas existentes mesmo quando esse executor tiver sido shutdown. -ou- Define a política sobre se deve continuar executando tarefas periódicas existentes mesmo quando esse executor tiver sido shutdown.

CorePoolSize

Retorna o número principal de threads. -ou- Define o número principal de threads.

(Herdado de ThreadPoolExecutor)
ExecuteExistingDelayedTasksAfterShutdownPolicy

Obtém a política sobre se executar tarefas atrasadas existentes mesmo quando esse executor tiver sido shutdown. -ou- Define a política sobre se executar tarefas atrasadas existentes mesmo quando esse executor tiver sido shutdown.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
IsShutdown (Herdado de ThreadPoolExecutor)
IsTerminated (Herdado de ThreadPoolExecutor)
IsTerminating

Retornará true se esse executor estiver no processo de encerramento após #shutdown ou #shutdownNow não tiver terminado completamente.

(Herdado de ThreadPoolExecutor)
JniIdentityHashCode

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
JniPeerMembers

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

LargestPoolSize

Retorna o maior número de threads que já estiveram simultaneamente no pool.

(Herdado de ThreadPoolExecutor)
MaximumPoolSize

Retorna o número máximo permitido de threads. -ou- Define o número máximo permitido de threads.

(Herdado de ThreadPoolExecutor)
PeerReference

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
PoolSize

Retorna o número atual de threads no pool.

(Herdado de ThreadPoolExecutor)
Queue

Retorna a fila de tarefas usada por esse executor.

(Herdado de ThreadPoolExecutor)
RejectedExecutionHandler

Retorna o manipulador atual para tarefas inexecutáveis. -ou- Define um novo manipulador para tarefas não reexecutáveis.

(Herdado de ThreadPoolExecutor)
RemoveOnCancelPolicy

Obtém a política sobre se as tarefas canceladas devem ser removidas imediatamente da fila de trabalho no momento do cancelamento. -ou- Define a política sobre se as tarefas canceladas devem ser imediatamente removidas da fila de trabalho no momento do cancelamento.

TaskCount

Retorna o número total aproximado de tarefas que já foram agendadas para execução.

(Herdado de ThreadPoolExecutor)
ThreadFactory

Retorna a fábrica de threads usada para criar novos threads. -ou- Define a fábrica de threads usada para criar novos threads.

(Herdado de ThreadPoolExecutor)
ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Nome Description
AfterExecute(IRunnable, Throwable)

Método invocado após a conclusão da execução do Runnable especificado.

(Herdado de ThreadPoolExecutor)
AllowCoreThreadTimeOut(Boolean)

Define a política que rege se os threads principais podem acabar e terminar se nenhuma tarefa chegar dentro do tempo de vida útil, sendo substituída se necessário quando novas tarefas chegarem.

(Herdado de ThreadPoolExecutor)
AllowsCoreThreadTimeOut()

Retornará true se esse pool permitir que os threads principais reduzam o tempo limite e terminem se nenhuma tarefa chegar dentro do tempo keepAlive, sendo substituída se necessário quando novas tarefas chegarem.

(Herdado de ThreadPoolExecutor)
AwaitTermination(Int64, TimeUnit) (Herdado de ThreadPoolExecutor)
AwaitTerminationAsync(Int64, TimeUnit)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de AbstractExecutorService)
BeforeExecute(Thread, IRunnable)

Método invocado antes de executar o Runnable especificado no thread especificado.

(Herdado de ThreadPoolExecutor)
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
DecorateTask(ICallable, IRunnableScheduledFuture)

Modifica ou substitui a tarefa usada para executar um callable.

DecorateTask(IRunnable, IRunnableScheduledFuture)

Modifica ou substitui a tarefa usada para executar um executável.

Dispose()

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
Dispose(Boolean)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
Execute(IRunnable)

Executa a tarefa fornecida em algum momento no futuro.

(Herdado de ThreadPoolExecutor)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
GetKeepAliveTime(TimeUnit)

Retorna o tempo de keep-alive do thread, que é a quantidade de tempo que os threads podem permanecer ociosos antes de serem encerrados.

(Herdado de ThreadPoolExecutor)
InvokeAll(ICollection, Int64, TimeUnit)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de AbstractExecutorService)
InvokeAll(ICollection)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de AbstractExecutorService)
InvokeAny(ICollection, Int64, TimeUnit)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de AbstractExecutorService)
InvokeAny(ICollection)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de AbstractExecutorService)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
NewTaskFor(ICallable)

Retorna um RunnableFuture para a tarefa callable fornecida.

(Herdado de AbstractExecutorService)
NewTaskFor(IRunnable, Object)

Retorna um RunnableFuture para o valor padrão e executável fornecido.

(Herdado de AbstractExecutorService)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
PrestartAllCoreThreads()

Inicia todos os threads principais, fazendo com que eles aguardem idly pelo trabalho.

(Herdado de ThreadPoolExecutor)
PrestartCoreThread()

Inicia um thread principal, fazendo com que ele aguarde o trabalho.

(Herdado de ThreadPoolExecutor)
Purge()

Tenta remover da fila de trabalho todas as Future tarefas que foram canceladas.

(Herdado de ThreadPoolExecutor)
Remove(IRunnable)

Remove essa tarefa da fila interna do executor se ela estiver presente, fazendo com que ela não seja executada se ainda não tiver sido iniciada.

(Herdado de ThreadPoolExecutor)
Schedule(ICallable, Int64, TimeUnit)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

Schedule(IRunnable, Int64, TimeUnit)

Cria e executa uma ação de um tiro que se torna habilitada após o atraso determinado.

ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit)

Envia uma ação periódica que se torna habilitada primeiro após o atraso inicial determinado e, posteriormente, com o período determinado; ou seja, as execuções começarão depois initialDelay, em seguida initialDelay + period, em seguida initialDelay + 2 * period, e assim por diante.

ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit)

Envia uma ação periódica que se torna habilitada primeiro após o atraso inicial especificado e, posteriormente, com o atraso determinado entre o término de uma execução e o início da próxima.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetKeepAliveTime(Int64, TimeUnit)

Define o tempo de keep-alive do thread, que é a quantidade de tempo que os threads podem permanecer ociosos antes de serem encerrados.

(Herdado de ThreadPoolExecutor)
Shutdown()

Inicia um desligamento ordenado no qual as tarefas enviadas anteriormente são executadas, mas nenhuma nova tarefa será aceita.

(Herdado de ThreadPoolExecutor)
ShutdownNow()

Tenta interromper todas as tarefas em execução ativamente, interrompe o processamento de tarefas de espera e retorna uma lista das tarefas que estavam aguardando execução.

(Herdado de ThreadPoolExecutor)
Submit(ICallable)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de AbstractExecutorService)
Submit(IRunnable, Object)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de AbstractExecutorService)
Submit(IRunnable)

Envia uma tarefa Executável para execução e retorna um Futuro que representa essa tarefa.

(Herdado de AbstractExecutorService)
Terminated()

Método invocado quando o Executor é encerrado.

(Herdado de ThreadPoolExecutor)
ToArray<T>()

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
IJavaPeerable.Finalized()

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

(Herdado de Object)

Métodos de Extensão

Nome Description
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

InvokeAnyAsync(IExecutorService, ICollection)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Um ThreadPoolExecutor que também pode agendar comandos para serem executados após um determinado atraso ou para serem executados periodicamente.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a