Duas threads que não podem coexistir

1 resposta
R

Bom, tenho uma Thread que é inicializada junto com a minha aplicação (Desktop) e usa o JNotify para escutar alterações em determinada pasta de arquivos. Ocorre que ao mesmo tempo tenho um Timer que fica procurando por determinada condição e caso ache essa condição ele mostra automaticamente uma janela para o usuário, para que ele possa alterar essa condição.

O problema é que quando essa janela é aberta para o usuário, a thread que fica escutando a alteração de arquivos pode detectar uma alteração e mudar a condição, porém o usuário já está com a janela aberta e não verá essa condição ser alterada, enfim vai dar muita dor de cabeça, pois ele vai alterar algo que é antigo e já foi alterado por outra thread.

Quando essa janela abrir para o usuário, caso algum evento seja disparado pelo JNotify eu tenho que fechar essa janela dele para que ele não altere nada enquanto o JNotify está alterando.

Alguma ideia de como resolver esse problema ?

1 Resposta

x111

Por que o timer e a thread? A thread não poderia fazer as monitorar os arquivos e a condição?
Me parece que você tem uma condição de corrida ai, já que duas threads diferentes podem disputar o mesmo recurso.

Criado 8 de agosto de 2013
Ultima resposta 8 de ago. de 2013
Respostas 1
Participantes 2