Pessoal,
tenho um tarefa que vai buscar dados no banco que precisa ser realizada em uma thread. Tenho um campo de texto que vai lançar esta tarefa sempre que for atualizado.
O problema é seguinte:
- apenas uma thread por vez pode executar esta tarefa para uma dada atualização do campo de texto
- se, enquanto uma busca estar sendo realizada, uma outra busca deve esperar a primeira busca terminar
- a requisição de uma terceira busca deve cancelar a segunda, e então esperar a primeira busca terminar
Em outras palavras, apenas uma thread por vez, e ultima solicitação que chegar deve remover quem estiver na fila e esperar a thread atual terminar
Existe maneira de implementar isso usando algum recurso de gerenciamento já existe na API do java ?