IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Programme reactif meme en cas de sucharge du cpu


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 66
    Par défaut Programme reactif meme en cas de sucharge du cpu
    salut,

    j'ai un programme sdi. bon, dans ce programme j'utilise des algos lourds (fouilles de données). Donc, quand il exécute un de ces algos l'interface de répond plus jusqu'à ce qu'il termine.
    Comment faire pour parer à cela, vu que beaucoup de logiciels même très gourmands restent réactifs.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Il suffit que ton programme soit découpé en plusieurs threads (je pense qu'il existe de nombreux cours sur le C++ qui en traitent).
    L'idée, c'est de faire ton interface sur un thread, et ton calcul sur un autre thread. Les deux peuvent s'exécuter sans se bloquer mutuellement et donc tu pourra continuer à mettre tranquillement à jour ton interface tout en attendant avec élégance (genre une fenêtre de chargement) la fin de l'exécution de la fouille.

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par azamharir Voir le message
    salut,

    j'ai un programme sdi. bon, dans ce programme j'utilise des algos lourds (fouilles de données). Donc, quand il exécute un de ces algos l'interface de répond plus jusqu'à ce qu'il termine.
    Comment faire pour parer à cela, vu que beaucoup de logiciels même très gourmands restent réactifs.

    Merci d'avance.
    ce n'est pas tout a fait ça ....
    si la charge CPU est importante le programme ne sera pas réactif ....
    travailler sur plusieurs thread sur une machine à plusieurs coeurs permettra d'utiliser au mieux la puissance de la machine et justement de faire monter le CPU au mieux.
    ce que tu appelles réactif dans ton cas c'est que l'application ne semble pas gelée: un boucle de traitement dans un interface empêche l'application de recevoir les messages windows et semble gelée.
    placer son traitement dans un thread est un moyen , qui ne garantira pas dans tous les cas d'utiliser au mieux le CPU...
    pour les traitement a base de calcul OPENMP peut être une solution intéressante...

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Le multi-thread te permettra d'avoir une IHM réactive pendant que les traitements se déroulent sur un autre thread. Modulo ce que dit farscape. Si tes calculs monopolisent le CPU et le système, de toute façon ton système sera sérieusement ralenti. Une piste (une fois toutes les optimisations de ton algo de calcul épuisées) peut être de jouer sur les priorités des threads et voir les conséquences.

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 66
    Par défaut
    merci,

    je vais voir avec les threads, si j'ai du nouveau je vous tiens au courant.

Discussions similaires

  1. Executer plusieurs programmes en meme temps
    Par thtghgh dans le forum MATLAB
    Réponses: 1
    Dernier message: 21/02/2011, 15h03
  2. [Bison] plusieurs parsers pour un meme programme
    Par gedeon555 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 23/02/2007, 21h20
  3. Réponses: 8
    Dernier message: 29/08/2006, 14h57
  4. Réponses: 4
    Dernier message: 09/05/2006, 11h21
  5. Empecher deux versions d'un meme programme
    Par yakotey dans le forum C++
    Réponses: 5
    Dernier message: 05/07/2005, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo