O exemplo deste artigo informa o uso da interface do executor no Java. Compartilhe para todos para sua referência. Os detalhes são os seguintes:
1. Definição de interface do executor em java
Executor de interface pública {void Execute (Runnable Commit);}
2. Crie um pool de threads por métodos de fábrica estática abaixo dos executivos:
a) newfixedthreadpool: Crie um longo pool de threads. Depois de atingir o número máximo de roscas, o número de threads não aumenta mais.
Se um thread terminar devido à exceção não esperada, o pool de threads complementará um novo thread.
b) NewcachedHreadpool: Crie um pool de threads em cache. Quando o comprimento do pool excede os requisitos de processamento, você pode recuperar os threads ociosos.
c) NewsingleThreadpool: Crie um executor de thread único.
d) NewscheduledHreadpool: Crie um pool de threads de longo prazo e suporta o tempo -period e execução periódica de tarefas.
Semelhante ao timer. No entanto, o timer é baseado no tempo absoluto, que é sensível a alterações no relógio do sistema, enquanto o ScheduledThreadPoolExector suporta apenas o tempo relativo.
3. Compare o resumo do aplicativo da classe do temporizador
1) O timer é o único thread a executar todas as tarefas do timer. Se uma tarefa estiver sem tempo, causará outro tempo de TimerTask para problemas com precisão.
2) Se o TimrTask lançar anormalidades desmarcadas, o timer terá um comportamento imprevisível. Portanto, o ScheduledHreadPoolExector pode substituir completamente o timer.
3) Para resolver o ciclo de vida dos Serviços de Execução, a interface ExecorService expande executor. O pool de threads incluirá 3 estados: correndo, desligando, encerrado.
4. Callable and Future
Como o Runnable não retorna o valor e não pode ser expulso da anormalidade verificada, chamável é uma melhor abstração. (Callable <Void> indica a tarefa de nenhum valor de retorno).
Future descreve o ciclo de vida da tarefa e fornece métodos relacionados para obter os resultados da tarefa, cancelar a tarefa, verificar a tarefa para preencher ou cancelá -la.
5.complingService integra as funções do Executor e do BlockingQueue.
Sua tomada e pesquisa podem bloquear a conclusão da tarefa.
Espera -se que este artigo seja útil para o design do programa Java de todos.