Fórum 100¬ de consumo de CPU #277355

15/04/2005

0

Alguém sabe por que alguns programas quando rodam certas rotinas ficam com 100¬ de uso de CPU? Alguém sabe como amenizar isso? Eu poderia usar Threads?

Estou fazendo um programa que varre o registro do Windows, mas o chato é que ele fica com esses malditos 100¬.

Mas o pior é outro programa de um colega meu, que roda como um serviço e fica pingando para um servidor de tempos em tempos. Mas ele fica direto com esses 100¬, precisávamos tirar isso. Como os outros programas fazem coisas e não ficam assim?


Renatosilva

Renatosilva

Responder

Posts

15/04/2005

Elciodramos

E ai galera

Tenho uma aplicacao com uma Thread e consegui resolver este problema com Sleep(1) cada vez que e executada.

Fora a Thread outra coisa que faco para resolver e application.processMessages em repeticoes tipo WHILE


Responder

Gostei + 0

15/04/2005

Renatosilva

Mas como é esse lance de Sleep? Poderia explicar melhor?


Responder

Gostei + 0

16/04/2005

Dopi

O Sleep apenas interrompe a execução do programa ou processo por n Milisegundos...

Isso faz o Windows perceber que a aplicação está livre e consegue transferir um processamento para outra tarefa..

Qualquer laço pode consumir muita CPU enquanto estiver rodando, afinal vc está instruindo o micro a ficar trabalhando repetidamente... não há ´estado de espera´

Insira um sleep( n ) dentro do laço... Experimente n de 1 a 100 e veja os resultados, se o laço ficar lento use intervalos menores...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar