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++Builder Discussion :

Thread : cmt la killer lors d'un gros calcul


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair� Avatar de Rodrigue
    Inscrit en
    Ao�t 2002
    Messages
    487
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 487
    Par d�faut Thread : cmt la killer lors d'un gros calcul
    Bonjour,

    J'ai une Thread qui ex�cute un tr�s tr�s gros calcul => parfois j'aimerais le stoper. Quand j'envoie � la Thread la fonction Terminate celle-ci ne r�pond plus Et le calcul continue!!! Comment faire pour tuer cette thread sans rien planter dans mon programme.
    Notez que j'ai des instanciations dynamiques dans cette thread et donc que je souhaiterais, dans la mesure du possible, que le fait de killer la thread ne me cr�e pas de fuites de m�moire.

    Cordialement,
    Rodrigue

  2. #2
    ubu
    ubu est d�connect�
    Membre �clair�
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 38
    Par d�faut
    Tu pourrais rajouter dans ton gros calcul une ligne du genre :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    if (Terminated)
      return;
    Le but du jeu est de tester (assez) r�guli�rement la propri�t� Terminated du thread pour savoir s'il n'a pas re�u d'�venement Terminate.

    Pour les instanciations dynamiques, bah, il faut s'en occuper dans le destructeur du TThread (ou dans la proc OnTerminate).

  3. #3
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut,
    de mani�re g�n�rale dans la classe TThread Borland a pr�vu le coup
    utilise simplement
    • Suspend(); pour stopper l'�x�cution du thread sans l'arr�eter d�finitivement
      Resume();pour r�d�marre un thread stop� par Suspend();

    a toi simplement de t'assurer que les couples Suspend() Resume() soient paires
    Cordialement
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  4. #4
    Membre �clair� Avatar de Rodrigue
    Inscrit en
    Ao�t 2002
    Messages
    487
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 487
    Par d�faut
    D'accord, merci beaucoup...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. besoin d'aide pour un gros calcul de malade
    Par thor76160 dans le forum Langage
    R�ponses: 4
    Dernier message: 29/03/2010, 16h21
  2. [XL-2003] Gros calcul de moyennes multi crit�res
    Par Aulanh dans le forum Excel
    R�ponses: 19
    Dernier message: 20/01/2010, 12h06
  3. R�ponses: 18
    Dernier message: 11/08/2009, 17h57
  4. [Processeur] Gros calculs et dur�e de vie du cpu
    Par charlespierre dans le forum Composants
    R�ponses: 3
    Dernier message: 04/03/2009, 06h21

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