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

Windows Forms Discussion :

Thread et parametre de methode


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut Thread et parametre de methode
    Bonjour,

    J'ai plusieurs Thread qui vont appeler les memes methodes avec des parametres differents.

    Mon probleme est que les parametres que je passe sont testés dans les methodes et utilisés differement, mais la valeur des parametres se melange entre les differents thread !!!!!

    Comment dois je proceder ?

    Merci
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par topolino Voir le message
    Mon probleme est que les parametres que je passe sont testés dans les methodes et utilisés differement, mais la valeur des parametres se melange entre les differents thread !!!!!
    Pas super clair ton histoire... Peux-tu montrer la technique que tu utilises pour passer les paramètres ?

    Regarde cette réponse pour voir les différentes techniques pour passer des paramètres dans un nouveau thread

  3. #3
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    Le passage de parametres lors de la methode start du thread je n'ai pas de probleme. Mais si dans le 1er thread et le 2eme thread les parametres que je passe a ma methodes sont differentes alors la methode ne va pas savoir quels parametres appartiens a quel thread.

    Suis plus clair ? j ai du mal a l'expliquer
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par topolino Voir le message
    Suis plus clair ? j ai du mal a l'expliquer
    Non, pas vraiment... Ce serait sans doute plus clair avec un bout de code

    La méthode n'a pas à savoir quels paramètres appartiennent à quel thread... si tu te poses cette question, c'est que tu t'y es pris de travers. La méthode a ses paramètres, point. A la limite, elle n'a même pas besoin de savoir qu'elle s'exécute dans un thread séparé, sauf cas particulier.

  5. #5
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    En faite chaque thead apelle la meme methode avec des parametres differents. Cette methode est assez longue a executer et dispose de pas de boucles en verifiant des egalites avec les parametres passés. Le pb c'est que la methodes melanges tous les parametres de tous les threads.

    Thread thread1 = new Thread(() => method1(param1, type1, true, title1));
    Thread thread2 = new Thread(() => method2(param2, type2, true, title2));
    .....
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par topolino Voir le message
    Le pb c'est que la methodes melanges tous les parametres de tous les threads.
    Euh, t'es sûr ? A mon avis tu interprètes mal ce que tu observes, parce qu'avec le code que tu indiques, ce n'est tout simplement pas possible

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/04/2013, 10h01
  2. Thread avec parametre et UI
    Par topolino dans le forum C#
    Réponses: 8
    Dernier message: 15/03/2011, 23h57
  3. Parametre de methode
    Par topolino dans le forum ASP.NET
    Réponses: 6
    Dernier message: 02/03/2009, 10h53
  4. Parametres en methode Post
    Par Galaad dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/07/2006, 13h57
  5. [Thread] comment arreter un thread qui execute une methode b
    Par Cyber@l dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 04/08/2004, 10h51

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