Ajuda com thread e metodos @Deprecated

3 respostas
JJjava

olá,

tenho na minha aplicação uma classe q implenta a interface runnable segue o modelo da classe

public class minha_classe implements runnable
{
     public minha classe(){}
     public void start()
    {
        Thread t = new Thread(this);
        t.start();
    }
    @Override
    public void run() 
    {
          while(true){

           try 
        {
                             run.trayIcon.displayMessage("Verificando pedidos novos", "leitura sendo feita", MessageType.INFO);
               importaProduto();
               Thread.sleep(ong);  
        } 
        catch (InterruptedException ex)
        {
                Logger.getLogger(core_check_updates.class.getName()).log(Level.SEVERE, null, ex);
        }
          }
    }


}

minha duvida e como faço para parar a execução do codigo e depois recomeçar ja que os metodos stop(); e suspend(); estao @Deprecated

Grato.

3 Respostas

matheuslmota

http://download.oracle.com/javase/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html

ViniGodoy

Altere sua classe para parar quando uma interrupção ocorrer:

public class MinhaClasse implements Runnable {
   public MinhaClasse(){}

   public void start() {
      Thread t = new Thread(this);
      t.start();
   }

   @Override
   public void run() {
      try  {
         while(!Thread.isInterrupted()) {
            run.trayIcon.displayMessage("Verificando pedidos novos", "leitura sendo feita", MessageType.INFO);
            importaProduto();
            Thread.sleep(ong);  
         } 
      } catch (InterruptedException ex) {
      }
   }
}

Agora é só chamar Interrupt:

MinhaClasse mc = new MinhaClasse();
mc.start();
Thread.sleep(200);

//Parando a classe
mc.interrupt();
JJjava
ViniGodoy:
Altere sua classe para parar quando uma interrupção ocorrer:
public class MinhaClasse implements Runnable {
   public MinhaClasse(){}

   public void start() {
      Thread t = new Thread(this);
      t.start();
   }

   @Override
   public void run() {
      try  {
         while(!Thread.isInterrupted()) {
            run.trayIcon.displayMessage("Verificando pedidos novos", "leitura sendo feita", MessageType.INFO);
            importaProduto();
            Thread.sleep(ong);  
         } 
      } catch (InterruptedException ex) {
      }
   }
}

Agora é só chamar Interrupt:

MinhaClasse mc = new MinhaClasse();
mc.start();
Thread.sleep(200);

//Parando a classe
mc.interrupt();
funfou de boa to usando wlw mesmo kara...
Criado 28 de julho de 2011
Ultima resposta 24 de ago. de 2011
Respostas 3
Participantes 3