Duvida com Thread

5 respostas
samuk1

Bom Dia… Meu Sistema Faz uma verificação se existe um Arquivo em uma Pasta a cada Meio Segundo!

Atualmente Faço assim : while (!arqEnt.exists()) { // Aguarde Meio segundo Thread.sleep(500); } texto = entrada();
Mas Andei estudando e parece que através de thread seria melhor essa verificação.
Como poderia usar uma thread nesse exemplo?

Abraços.

5 Respostas

utluiz

Boa tarde,

Criar uma outra thread em si não melhoraria em nada. Ela ajuda dependendo do que seu sistema precisa fazer.
Criando uma nova thread para fazer essa verificação em segundo plano, a thread principal ficará livre para processar alguma outra coisa. Existe algo a ser feito?
Enfim, acho q só dá pra ajudar mais sabendo mais detalhes sobre essa funcionalidade.

samuk1

A Funcionabilidade é só isso mesmo:

-Verifica se tem o arquivo na Pasta

  • Se existe, ele executa uma funçao que carrega o arquivo para um String, apaga o arquivo e volta a ficar Procurando.
  • Se não existe ele aguarda meio segundo e procura novamente.
A

Dá uma olhada neste cara:
http://docs.oracle.com/javase/tutorial/essential/io/notification.html

Talvez ela seja útil para você.

utluiz

Nesse caso, do sistema monitorar um arquivo ou pasta, a solução do AbelBueno é perfeita.
Deixe o SO trabalhar pra vc e te avisar quando existir um determinado arquivo.

samuk1

Obrigado pela resposta!
Essa função realmente é muito útil… Mas acho que ela se torna d+ pro meu caso:

Pois no exemplo da Api ese utiliza um Loop infinito :

for (;;) {

Mas meu objetivo era não precisar de Loop infinito.E sim Usar tipo um listening sei lá.
Sendo assim o que eu ganharia com isso sendo que o meu codigo faria a mesma coisa e de modo mas simples?

while (!arqEnt.exists()) { // Aguarde Meio segundo Thread.sleep(500); } texto = entrada();

Criado 20 de setembro de 2012
Ultima resposta 20 de set. de 2012
Respostas 5
Participantes 3