Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB.net 2005] Limitare uso di CPU

    Salve!

    Ho realizzato un'applicazione in vb.net 2005 che avvia due processi in background (backgroundworker per l'esattezza) indipendenti fra loro.
    Ciascuno di essi esegue un ciclo while da cui esce solo ad una determinata condizione.

    Il programma funziona correttamente ma... occupa il 99% della CPU.

    Esiste un modo (magari nelle impostazioni di progetto) per dire alla propria applicazione di NON oltrepassare mai una certa percentuale di utilizzo della CPU?
    Cioè vorrei che la mia applicazione, indipendentemente da quante risorse sono libere, non utilizzasse più dell'x% della cpu disponibile.

    Grazie assai per qualunque suggerimento-risposta.
    Make Pazziata-tàààà NOT war!

  2. #2
    Il programma occupa il 100% della CPU perché metti dei cicli while a controllare delle risorse senza inserirci delle pause; inserisci dei Thread.Sleep(100) all'interno dei tuoi cicli e vedrai che il programma utilizzerà molto meno CPU.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Grazie assai!!!

    Alla fine di ogni ciclo while ho messo un
    System.Threading.Thread.Sleep(300000) '5 minuti di pausa fra un ciclo e l'altro

    e la percentuale di uso del cpu è scesa a quasi lo 0%

    Di nuovo grazie.

    Make Pazziata-tàààà NOT war!

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    5 minuti mi sembra troppo ora....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.