Si tu as une question pose-là plutôt ici que par mp.
Je vais à ta demande détailler ce que je te propose :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
int k;
while(...) //on met ici la condition d'arrêt de la boucle = condition de sortie de ton programme
{
int x = getChargeCPU(); //on récupère la charge du CPU (cette fonction n'est là qu'à titre d'exemple, elle n'existe pas)
if(x > k) //si la charge moyen du CPU est supérieur à la valeur maximale que tu souhaites
{
int z = (x - k)*5; //on calcule le temps qu'il faudrait dormir (ce n'est qu'un exemple
usleep(z); //on dort
}
} |
Ainsi tant que tu n'as pas atteins la valeur que tu souhaites, tu continus de faire des tours de boucles donc tu utilise le CPU. Dès que tu dépasse cette valeur, tu t'endors pour la faire rebaisser.