begin process at 2012 05 29 08:51:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Systeme

 > 

help : redonner la main au système


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

help : redonner la main au système

mardi 23 novembre 2004 à 19:11:26 | help : redonner la main au système

scelw

mon programme est destiné au calcul scientifique. il calcule donc à tour de bras sans relâche, les opérations pouvant durer des heures voire des jours puisqu'il s'agit de très grands nombres (gérés avec une classe spéciale mais peu importe). mon problème est que le programme utilise toutes les ressources du système pour calculer et, par exemple, ne permet pas aux résultats intermédiaires de s'afficher. j'aimerais trouver une fonction pour redonner temporairement la main au système (genre DoEvents en VB) sachant que j'utilise Visual Studio 6...

merci pour votre aide!!!!
mardi 23 novembre 2004 à 19:27:49 | Re : help : redonner la main au système

AlexMAN

Membre Club
Mets un Sleep(1); dans ta boucle. Si ce n'est pas suffisant, augmente le nombre juska ske ca le devienne, mais normalement, pas de pb.

++

+2(p - n)
mardi 23 novembre 2004 à 19:30:55 | Re : help : redonner la main au système

AlexMAN

Membre Club
Ah et j'ai oublié, si tu utilises des threads, fo gérer ca avec les objets de synchronisation, dans l'appel a WaitFor(Single/Multiple)Object(). Details sur MSDN.

Bonne chance

++

+2(p - n)
mardi 23 novembre 2004 à 19:53:13 | Re : help : redonner la main au système

scelw

j'utilise pas de threads mais par contre, pour utiliser la fonction Sleep() fo pas ajouter des includes particuliers??
THX !
mardi 23 novembre 2004 à 19:58:16 | Re : help : redonner la main au système

AlexMAN

Membre Club
#include <windows.h> devrait suffire.

+2(p - n)
mardi 23 novembre 2004 à 20:45:45 | Re : help : redonner la main au système

plus_plus_fab

salut,

Si tu fais du calcul scientifique intensivement, faut te mettre à UNIX d'urgence !!!
un systeme UNIX te permettra de donner une priorité (basse) à un processus, de façon à ne pas bouffer toutes les ressources.
utiliser Sleep pour "scheduler" ? ça me fait de la peine ... C'est pas une solution.
mardi 23 novembre 2004 à 20:52:27 | Re : help : redonner la main au système

AlexMAN

Membre Club
Euh plus_plus_fab, faudrait te renseigner sur les API Windows avant de dire des betises...Un systeme Windows te permet de donner une priorité basse aussi, SetThreadPriority()...
Et cette idée est completement debile, ton thread ne sera pas prioritaire, et pour du calcul INTENSIF, excuse moi mais c pas top..
Personnelement, je trouve le Sleep() bien, et ne vois pas pkoi ca te fait tant de peine...

+2(p - n)
mardi 23 novembre 2004 à 21:31:36 | Re : help : redonner la main au système

Matt67

Bonsoir,

Essaye ca :

void DoEvents()
{
MSG msg;
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

Matt...
mardi 23 novembre 2004 à 21:41:49 | Re : help : redonner la main au système

plus_plus_fab

je n'ai pas l'intention de me renseigner sur les API w$.
je n'ai pas dit de betises.
utiliser Sleep, c'est débile.

Ce SetThreadPriority(), il peut donner une priorité basse à un processus ?
m'étonnerais !
Sur UNIX, il y a la commande nice qui permet de lancer un processus avec une priorité basse, et renice d'affecter une priorité basse à un processus déja lancé.
C'est l'idéal pour faire des grosses taches de fond ... et pouvoir travailler sans gros ralentissements.
scelw > je te dit ça parce que vraiment, c'est la solution à ton problème. Mais peut-etre n'as tu pas le choix de la plateforme de développement, ou autre, je respecte ...



mardi 23 novembre 2004 à 22:09:16 | Re : help : redonner la main au système

BruNews

Administrateur CodeS-SourceS
Sous Windows avec CreateProcess, on regle le niveau de priorite dans le membre dwCreationFlags.
ET C'EST CERTAIN.

ciao...
BruNews, MVP VC++

1 2 3

Cette discussion est classée dans : help, programme, système, main, redonner


Répondre à ce message

Sujets en rapport avec ce message

comment redonner temporairement la main au système ? [ par scelw ] mon programme est destiné au calcul scientifique. il calcule donc à tour de bras sans relâche, les opérations pouvant durer des heures voire des jours help [ par winsoft ] salut ,je dois réaliser un programme en c qui permet l'apprentissage de l'alphabet francais,il consite à gérer les fichers audio en c, c-à-d une fois Complilation/Linking en C sous Visual C++ [ par sandy27 ] Salut tout le monde,j'ai un problème d'éditions de liens en fait. J'ai fait un programme d'un côté dans un certain répertoire, dont la fonction princi Mon programme ne rend pas la main ! [ par z980x ] Bonjour à tous !J'ai fait une procédure pour quitter le programme (elle doit effacer l'écran), mais elle ne rend pas la main !!!!(C'est à dire que je HELP EXECUTION [ par deutant ] J'ai compilé mon programme sous vc++express2005 ss erreurs ni warnings, mais pour l execution j'ai le message suivantLe programme '[8620] test.exe: Na Help !! Petit Programme [ par Paulo29 ] Je souhaiterai faire un programme en C ou C++ pour envoyer une donnée sur un reseaux local, voir un poste précis, pour ensuite visualisé cette donnée help je suis perdu :'( [ par morgandetoi06 ] voila je veu faire un programme qui envoie toutes les minutes du texte mais je n arrive pas à le compiler ça me sort tout plein d erreurs si vous pouv caché mon programme dos... help SVP!!! [ par bobidop ] salut all!!alors vola, jai fait un programe ke jenvoi sur un serveur, ki a un chronometre de 10minute, et o bout de ces 10minutes, il execute des cmd J'veux dire qqch amon programme...HELP !!! [ par lutin ] Oui en fait, j'aimerais savoir si qqun peux m'aider dans l'utilisation des messages windows.J'explique : je crée une fenetre qui lance un threaddans m BiG PRObLEM help des pros please!!!!!! [ par defkrie ] Comment récupérer dans une chaine ou autre chose le repertoire ou se trouve le programme apres l'avoir lancé.Je lance le programme et celui cime dit p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales