Uso Delphi, C++ e Clarion. Todas estas linguagens tem mecanismos para postar eventos entre threads de uma mesma aplicação.
Estou interessado em passar para JAVA (porquê é interplataforma e independente da Micro$oft, Borland e Top$peed).
Por isto estou avaliando JAVA e até agora não achei o mecanismo que permite uma thread enviar um evento (ou sinal) “user-defined” para outra.
Não estou falando dos eventos entre componentes, padrão do JAVA (ActionListener). O que preciso é definir eventos meus, por exemplo:
- Crio um equate “EVENT_ExploitFound”
- Rodo uma thread qualquer que, por exemplo, é uma interface com o usuário.
- Rodo uma outra thread que executa um processamento qualquer em background. Esta thread em um dado momento deve enviar à primeira thread um evento “EVENT_ExploitFound” (de novo, este evento não existe - fui eu que o defini - é um valor qualquer).
- A thread de interface com o usuário deve receber o evento “EVENT_ExploitFound” e disparar uma ação qualquer.
Como pode-se ver o que estou perguntando é algo bem diferente dos métodos de eventos que encontrei no JAVA, que permitem que um controle (tipo um botão) emitam eventos pré-determinados que um outro controle “escutará”. O que preciso é poder definir eventos (não os pré-determinados) e emiti-los de dentro do código para serem escutados em uma outra thead.
JAVA tem esta capacidade? Deve ter, eu é que ainda não encontrei. Alguém pode me indicar o caminho?