Empilhamento de Thread

Pessoal, eu gostaria da opnião de voces quanto a essas classes… obrigado.


Usando o InvokeQueueStack

Problemas que podem surgir:
[list]Como fazer uma pilha FIFO de Thread?[/list]
[list]Como garantir a ordem de execução de uma Thread? (Que é impossivel prever qual Thread irá entrar primeiro! Inclusive se competir por monitor “syncronized”) [/list]
[list]Como fazer um “Insert” em um banco de dados, usar a informação e depois garantir um “Delete”? [/list]
[list]Tenho um HashMap com N registros e preciso dividir em multiplos de 10 uma execução.[/list]
Em fim, qualquer coisa que seja preciso rodar em “background” em fila.

InvokeQueueStack exemplo = new InvokeQueueStack();

Ao criar uma instancia uma Thread será executada com o nome, por exemplo, “InvokeQueueStack-5”

Para adicionar na fila qualquer Runnable é usar o metodo:

exemplo.add(runa);

ou

[code]exemplo.add(new Runnable(){
public void run() {

    // Codigo

}

});
[/code]

Ao terminar a Thread vai virar esperando por uma tarefa para sempre… amenos que você use o metodo: exemplo.stopQueue();

Este metodo irá executar a fila restante de Thread e matar a Thread executado, por exemplo, “InvokeQueueStack-5”

Usando o InvokeDAO

Problemas:
[list]Como internalizar um objeto em uma Thread? [/list]
[list]Como criar uma Thread passando um parâmetro? [/list]
[list]O Metodo “Runnable” e o “Thread” não aceitam nenhum parametro amenos que você crie variáveis “private” da “classe interna”[/list]
Exemplo:

InvokeDAO<String> th = new InvokeDAO<String>(){

    public void run() {

        System.out.println(this.obj);

    }

};
th.obj="Internalizando um objeto";
invoke.add(th);

Usando o Invoke

Problemas:

[list]Seu projeto precisa apenas de uma UNICA pilha.[/list]
[list]Perda de controle sobre as pilhas usadas que nunca morrem.[/list]
Esta classe é apenas uma “fachada” ou se preferir um “controller”… para o uso de apenas uma unica pilha. Por ser um “singleton” é a sua garantia que existirá apenas uma unica pilha “InvokeQueueStack-5” rodando em seu sistema.