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

Langage Delphi Discussion :

Comportement thread mal compris


Sujet :

Langage Delphi

  1. #1
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut Comportement thread mal compris
    RESOLU


    Bonjour,

    je pensais que l'orsqu'on créait un thread, depuis la form1 de base par exemple, celui ci était une sorte de processus indépendant, donc sans influence sur la form1.

    Je m'explique, je pensais que si un thread entrait dans une boucle infifnie, cela ne bloquerait pas la form1 de mon exemple.

    Et bien si, pour en avoir le coeur net, j'ai fait l'expérience, et la boucle infinie de thread rend inaccessible ma form1.

    Voici les quelques lignes de code en cause:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    procedure TForm1.FormCreate(Sender: TObject);
      thread232:=TThread232.Create(false);
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    constructor TThread232.create(suspend : Boolean);
    begin
      inherited Create(suspend);
      traitementBoucle;
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure tthread232.traitementBoucle;
    begin
      while true do
      begin
      end;
    end;

    Tout ceci bloque l'application d'entrée de jeu... A ma surprise.

    Je pense avoir mal compris quelque chose, ou bien avoir loupé un épisode à un moment donné...

    Merci de vos lumières enrichissantes.

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 871
    Points : 11 361
    Points
    11 361
    Billets dans le blog
    6
    Par défaut
    je pense qu'à mettre le traitement dans le Create plutôt que dans le Execute, tu ne rends jamais la main au programme principal puisque le Create n'a pas de fin !

    dans le traitement, penser à tester de temps en temps Terminated (je crois) ou un flag qui demande la fermeture du Thread.

  3. #3
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par tourlourou Voir le message
    je pense qu'à mettre le traitement dans le Create plutôt que dans le Execute, tu ne rends jamais la main au programme principal puisque le Create n'a pas de fin !

    dans le traitement, penser à tester de temps en temps Terminated (je crois) ou un flag qui demande la fermeture du Thread.
    Ha oui, tu as raison, je vais essayer ça...

    ===> Ben voilà, ça bloque plus ! Merci !

    Comme disait Confucius: "qu'est ce qu'il est bête ce peter27x parfois !"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. strtoul mal compris...
    Par SPACHFR dans le forum Débuter
    Réponses: 5
    Dernier message: 31/05/2007, 16h33
  2. [MySQL] Classe database + connexion multiple + principe mal compris
    Par Rodrigue dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 14/08/2006, 14h06
  3. [C++]Code mal compris
    Par fafa139 dans le forum MFC
    Réponses: 5
    Dernier message: 11/05/2006, 13h51
  4. [C++]Code mal compris
    Par fafa139 dans le forum C++
    Réponses: 5
    Dernier message: 11/05/2006, 13h51

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