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

C++ Discussion :

probleme stack overflow en multithread


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 17
    Par d�faut probleme stack overflow en multithread
    salut,
    je creer un event lorsque j'ai des data qui entre par le com1 mais lorsque j'essaie de traiter les donnees le fais que mon event se reproduit tout le temps cela me donne un stack overflow.
    il faudrait que je trouve le moyen de mettre en pause le multitread une fois que j'ai recu des donnees pour avoir le temps des traiter et recommencer une fois que c'est fais.
    si quelqu'un a une idee ca serait genial

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    107
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 107
    Par d�faut
    Tu as un thread qui se charge d'empiler les interruptions, et un autre qui d�pile et fait le traitement d�sir� (en faisant cela tu "s�rialises" ton traitement : il n'y aura que deux threads au plus).

    Mais es-tu s�r que ton PC peut g�rer le nombre d'interruption ? (nombre d'interruption par seconde) Car m�me si le processeur pourrait suivre (en comptant grossi�rement le nombre de cycles n�cessaires � ton traitement), il ne faut pas oublier que ton OS a plein de chose � faire en m�me temps, qu'un port parall�le a ses limites, etc.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 17
    Par d�faut
    je continue a tester et les erreurs obtenue sont tres etranges.
    voici un peu plus de detail sur le probleme

    jai un event sur mon com1
    lorsque je recois des donnees je fais appelle a une fonction qui lit dans une table(access) les donnees recu pour afficher plus de detail sur les bit et mettre a jour la table.

    si je creer un bouttonX pour executer cette fonction tout fonctionne tres bien, les donnee saffiche et tout se met a jours.

    mais lorsque la fonction est appeller par le event . je recois toujours un message derreur sur les ligne form1->table->first(); ou next();

    la table est bien ouverte car je peux executer cette fonction a partir dun bouttonX click event.

    le message derreur est : access violation at adress xxxxx

    javoue que je suis depasse par se probleme...
    je ne vois pas pourquoi un event sur un bouton click fonctionne tres bien. mais lorsque cest une fuction multithreat les deplacment dans ma base de donnees sont imposible..

    merci beaucoup davoir pris le temps de repondre a mon premier message.
    en esperant avoir un autre reponse

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 17
    Par d�faut exemple plus congret
    en esperant que quelqu'un peut maider.
    voici une bride du code qui pourra peut etre mieux vous expliquer


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    void __fastcall TForm1::Button2click(tobject *sender)
    {
    test2();
    }
     
    case SERIAL_DATA_ARRIVAL :
         test2();
     
     
    void __fastcall test2(void)
    {
    form1->alcool->first;
    }
    alors si je click sur le button 2 tout se passe bien ..
    mais si mon case Serial_data_arrival arrive...
    test2 plante avec un eaccessviolation at adress ooooooc
    je ne voulais pas ecrire toute les etapes de mon programme mais le case fonctionne tres bien , il execute toute les tache que je lui m'entionne a l'exeption du deplacement dans mes tables ouvertent.
    merci d'avance eric

Discussions similaires

  1. D�veloppement d'un stack overflow like, probleme ajax et jsp
    Par kenshiroseifu dans le forum Servlets/JSP
    R�ponses: 0
    Dernier message: 06/05/2010, 11h27
  2. [GNU-Prolog][M�moire] Local stack overflow
    Par Maxoo dans le forum Prolog
    R�ponses: 15
    Dernier message: 04/06/2008, 22h15
  3. Stack OverFlow
    Par Goundy dans le forum Langage
    R�ponses: 2
    Dernier message: 24/12/2005, 21h35
  4. Probl�me de stack overflow
    Par heider dans le forum Langage
    R�ponses: 13
    Dernier message: 22/09/2005, 19h50
  5. Stack overflow
    Par portu dans le forum Langage
    R�ponses: 3
    Dernier message: 26/11/2003, 15h16

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