CPU em 100%

3 respostas
R

Amigos tenho um problema com o seguinte trecho de codigo em minha aplicação. Em alguns pc´s, inclusive o que desenvolvi,
a aplicação não encontrou problemas mas em certos computadores apresenta comportamento estranho chegando a utilizar 100%
de CPU contra 10% nas maquinas que apresenta comportamento normal. Fiz uma comparação das maquinas todas
tem windows XP sp2 CPU acima de 2 GHZ pelo menos 512 de ram e jre 1.6. Fiz testes com este processo rodando sozinho, além dos normais do sistema.
O mesmo comportamento foi observado quando desenvolvido em java 1.5 e 1.6. Não sei mais o que fazer. Alguém imagina o que pode ser?

while(condicao==true){
        try {                  
            byte[] buffer = null;
            BufferedImage imagem = geraImagem();
            image=redimensionar(image);
            ByteArrayOutputStream bos = new ByteArrayOutputStream();                   
            ImageIO.write(imagem, "jpg", bos);
            buffer = bos.toByteArray();
            OutputStream out = s.getOutputStream();
            ObjectOutputStream outS = new ObjectOutputStream(out);
            outS.writeObject(buffer);
        } catch (Exception e) {
            
        }
    }

3 Respostas

F

Não sei te explicar o porque do comportamento diferente em máquinas diferentes. Mas sugiro que vc coloque seu código em um thread.

R

já está.

B

Ola

Foi mal, parece que não entendi seu codigo direito… a variável “condição” muda por outro lugar… pq dentro do seu while não tem um break… e realmente, dendendo de como a CPU está ela pode gerenciar isto de forma diferente… mas o “normal” seria ocupar 100%… pq é um loop sem condição de parada com IO de disco… o que pode não ocupar os 100%…

Criado 9 de dezembro de 2007
Ultima resposta 10 de dez. de 2007
Respostas 3
Participantes 3