Limiter les ressources utilisé par un programme

kezyr Messages postés 3 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 22 janvier 2004 - 13 janv. 2004 à 14:59
kezyr Messages postés 3 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 22 janvier 2004 - 22 janv. 2004 à 16:46
Bonjour

Voila, j'expose mon problème : j'ai un programme avec une fonction qui comporte 14 boucle for imbriqué (oui je sais, c'est beaucoup, mais obligatoire). Ces boucles permettent de faire un calcul assez complexe sur une courbe et le problème est que lorsque ce processus (qui peut prendre 5 10 min si on met beaucoup de parametres) est lancé, il utilise 100 % du cpu, rendant le programme comme mort.
J'aimerais limiter un peu ca, quitte à prendre plus de temps, parceque sinon, impossible de faire un bouton annulé, ou meme de voire ou on en est, sauf avec une progressbar.
La ou je comprend pas, c'est que le programme arrive à afficher une fenetre avec une progressbar pendant ce processus qui evolu, mais pas possible de mettre un label dans cette fenetre, enfin, on peut en mettre un, mais il sera transparent.

Donc la solution a tout ca, a priori, c'est d'arriver à limiter les ressources utilisé par le programme pour que la machine soit capable de traiter autre chose que ce calcul.

Voila, et merci à ceux qui me répondront

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
13 janv. 2004 à 15:04
pour que ton interface graphique continue de tourner durant les calculs il faut que ceux ci s'executent dans un thread

see System.Threading
mate un peu la seule source que G postée ici pour l'instant, je crois que G justement mit un thread (basique) pour faire la lecture du journal win

source

Cocoricoooooooo !!!!
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
13 janv. 2004 à 22:57
Tu peux multithreadé ton application , en n'oubliant pas de mettre des mutex car a mon avis si tout est imbriqué actuellement , il faut faire attention au contenu des variables.

Si çà bouffe aussi trop de mémoire tu peux forcer l'execution du garbageCOllector

MAis a mon avis il doit y avoir une auntre solution que tes 24 boucles imbriquées ca me parait un peu bizarre ton truc ;)

Bon courage si ce n'est pas le cas

::|The S@ib|::
MVP C#.NET
0
kezyr Messages postés 3 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 22 janvier 2004
22 janv. 2004 à 16:46
Malheureusement, il n'y a pas d'autres solutions a priori, puisqu'il s'agit d'une fonction qui balaye une courbe faite a partir de 14 parametres et qui teste toute les valeurs possible.

Mais bon, j'ai a peu près resolut le probleme, merci :)
0
Rejoignez-nous