Melhorando o desempenho

eu estava fazendo um programinha simples… Mas por ter um loop ele come muito processamento, 50% (meu pc tem nucleo duplo, acho que se for em um single ele comeria 100% e deixaria a maquina bem lenta).
Ae tentei fazer da seguinte forma…

... if ( diferenca < ((tempo*10)-200) ) { try { this.wait((tempo*10)-diferenca-200) ; } catch (Exception e) {} } ...
Sendo tempo o tempo em decimos de segundo para o prog executar novamente
Sendo diferenca o tempo corrido em milesimos de segundo, depois ele volta a ser zero…

A ideia eh q se a diferenca n chegar nem proximo do tempo, então pare a execução e alivia a maquina por um tempo igual
ao tempo - diferenca - 200 (um pouco menos do q falta para ter de executar de novo o codigo.
Mas depois de tudo ele ainda consome muito processamento…

Fico na duvida se os metodos estaticos dessa classe iriam continuar funcionando?
Se não tem erros na minha lógica e qual o melhor metodo para implementar esse codigo.

Obrigado pela ajuda e espero que tenham me entendido… =)

A API para esperar é “sleep”, não “wait”. OK?

// Espera pelo menos 100 ms
try { Thread.sleep (100); } catch (InterruptedException ex) { } 

Mas de qq forma, no meu caso a classe n “extends thread”, n sei se tem outra alternativa…

Mas obrigado pela resposta e continuo no aguardo…

Thread.sleep pode ser usada em qualquer classe e método. Ele faz com que a thread corrente durma; ele não pode fazer uma outra thread dormir.

Exemplo de programa que faz dois bips:

import java.awt.*;

class DoisBips {
    public static void main(String[] args) {
        System.out.println (""); // Faz um bip
        try { Thread.sleep (1000); } catch (InterruptedException ex) { }
        System.out.println (""); // Faz outro bip
    }
}

[quote=Hiro]Mas de qq forma, no meu caso a classe n “extends thread”, n sei se tem outra alternativa…

Mas obrigado pela resposta e continuo no aguardo…[/quote]

e pq precisaria extends a class Thread? vc chama ela e o metodo static sleep. como thingol mostrou… vc so extend a class Thread se tivesse afim de subscrever o metodo run() para executar o trabalho…

Vlw pessoal…