Cálculo de processamento em um laço, por ex

Galera, vejam esse código p/ poder entender a minha dúvida.

if (obj == null){
obj = new Object();
}

while (obj != null){
if (obj.name == "teste"){
break;
}
}

Acontece o seguinte, o laço While fica executando, ok, óbvio, mas como calcular quantas vezes ele vai ser executado em um minuto? Como calcular a carga de processamento desse while? Como isso funciona?

Bem, não sei se fui bem claro, mas a questão básica é:

Em laços, como calculo quanto tempo ele demora a ser executado? Como funciona isso?

Grato.

long inicio = System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
    System.out.println(i)
}
long fim = System.currentTimeMillis();

System.out.println(fim - inicio); //obtem em milisegundos quanto tempo o laço acima foi executado

Thiago,

Acho que ele não quer saber em quanto tempo 1000 vezes são executadas, mas sim saber quantas vezes ocorre a repetição ali do while em 1 minuto.

AUser,

Você pode colocar uma verificação. Antes do while, você coloca o tempo. Dentro do while, você verifica se já passou um minuto. Se não passou, você continua e incrementa um contador. Se passou de 1 minuto, dá um break e imprime o contador. Essa definitivamente não é a melhor maneira de fazer (essa verificação pode aumentar o tempo de execução, por mais que seja pouco), mas é um jeito. Acredito que tenha alguma forma usando threads, mas acredito o primeiro ser o jeitão mais fácil.

Abraço.

O usa o profiler do netbeans para calcular o tempo de execução da thread. É bem preciso.

a primeira ideia que me vem a cabeça de como fazer isso é vc criar 2 threads, e um boolean sendo variavel global:

a primeira thread fazendo esse loop, e incrementando um inteiro que obviamente tenha sido criado fora do loop;

a segunda thread vai muda o valor desse boolean para false depois de um sleep (1000)…

ai o loop vc muda para while (suaVariavelBoolean) (para que saia quando a outra thread tenha dito q passo 1 segundo)

quando sair do loop vc imprime o inteiro que estava sendo incrementado… (e posta ai o resultado por favor q eu to curioso…xD)

só dando um edit básico…

não sei se é método mais eficiente de se fazer isso mais lógicamente esta certo