Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alfmarc

Thread em Idle amarra carga de programa

Recommended Posts

Tenho uma rotina que executa compactação de arquivos (usando a VCLZip) em uma thread. Quando a compactação está rodando com prioridade Idle e tento abrir um programa grande como o Corel Draw, a carga dele fica extremamente lenta. De 2 ou 3 segundos, sem o compactador funcionando, para mais de um minuto.Checando a prioridade de ambas as threads em tempo de execução verifiquei que estão corretas: compactador=1 (Idle) e corel=8 (normal).Testes com outros programas que usam threads mas que não acessam o HD funcionam como o esperado: o de prioridade mais baixa espera o outro terminar e não o amarra.O que poderia explicar isso?Há alguma solução?GratoAlfeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

A solução (recebi esta informação de um colega):O problema não está na prioridade mas no acesso lento ao disco.Quando dois programas estão tentando acessar pequenos blocos de dados ficará lento para os dois independentemente da prioridade da thread de cada um.A solução é ler grandes blocos de dados na memória e gravá-los de uma vez só.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.