Este exemplo é uma variação do post Executando tarefas sequencialmente em outra Thread
Neste caso, eu deixo um executor em stand-by durante todo o ciclo visível de uma activity e sempre que desejo executar uma tarefa em outra thread basta enviar a tarefa para o executor.
Cada tarefa é colocada numa fila de execução do executor, e como o executor tem apenas uma thread cada tarefa é executada sequencialmente na ordem de solicitação.
Para processar uma tarefa neste executor basta fazer isso:
Runnable worker = new MyTask("task" +i, 5);
executor.execute(worker);
Em MyTask, eu coloquei um handler.post(Runnable) no início e no fim com Toast´s de notificações e um ProgressBar.
Para testar é interessante clicar no botão "Executar task" várias vezes seguidas rapidamente ou pausadamente e ver as tarefas sendo executadas.
Vamos aos códigos:
TesteExecutor2Activity.java
main.xml
Nenhum comentário:
Postar um comentário