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 :

Thread - classes - Variables


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Par défaut Thread - classes - Variables
    Bonjour


    Comment modifier une variable qui se trouve dans une autre classe et autre thread??

    Exemple

    Class1: (je défini ma variable)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public static bool Connected=false;
    Class2 MYCL=new class2
    private TEST: (je lance le module "essai" en thread)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Tread TH = new thread(essai));
    th.start();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private traitement de controle()
    (A ce moment et, tout le long, "Connected" est toujours à false)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (Connected==true)
    {blablalba}
    Class2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public void essai
    class1.Connected=true;
    La classe 2, s'effectue dans un second thread et, je dois récupérer "connected" dans le traitement du thread principal dans la classe 1 .

    D'avance merci

  2. #2
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    pour faire la manipulation interTHRead des variables il faut uitlise de delege des fonctions.

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par azstar Voir le message
    pour faire la manipulation interTHRead des variables il faut uitlise de delege des fonctions.
    ??????

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par electro74 Voir le message
    Bonjour

    La classe 2, s'effectue dans un second thread et, je dois récupérer "connected" dans le traitement du thread principal dans la classe 1 .

    D'avance merci
    Utilise l'instruction lock sur tes accesseurs pour sécuriser les accès interthreads.

    Et utilise les balise CODE quand tu postes du code sinon c'est illisible.

  5. #5
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    désolé pour la mauvaise formulation.

    lien

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par azstar Voir le message
    désolé pour la mauvaise formulation.

    lien
    Ce n'est pas une question de formulation. Tu fais un mélange entre deux problématiques radicalement différentes : L'accès aux controles d'une form par un thread autre que celui qui a instancié les contrôle, ce qui est le sujet du lien que tu postes et qui n'a strictement rien à voir avec la problèmatique exposée ici, où je ne vois aucune nécessité de compliquer le code en ajoutant des delegate ou je ne sais quoi, alors qu' assurer le vérouillage des accesseurs via l'instruction "lock" est largement suffisant.

  7. #7
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    dans son solution il amene a modifie une variable qui se trouve dans une form (Thread 1) dans un autre thread(thread2)

    Comment modifier une variable qui se trouve dans une autre classe et autre thread??[/B]
    alors il est amene a passe l'instance de son from 1 dans une fonction de la thread 2.

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par azstar Voir le message
    dans son solution il amene a modifie une variable qui se trouve dans une form (Thread 1) dans un autre thread(thread2)
    - Il n'a jamais été question de Form ici..

    - quand bien même, la règle dit que le thread de création doit être utilisé pour modifier les control . or ici il est question de membre, il n'a pas parlé de controle.

    - donc on ne voit pas du tout pourquoi il devrait passer par les delegate et les méthodes Invoke : totalement inutile.

    C'est mieux de lire les questions avant d'essayer de répondre !

Discussions similaires

  1. Thread et variable de classe
    Par bobinouze dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 02/07/2010, 13h28
  2. Anonymous classes, variable final et concurrence entre threads.
    Par nouknouk dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 29/03/2008, 16h59
  3. Réponses: 2
    Dernier message: 06/03/2006, 11h22
  4. Réponses: 13
    Dernier message: 15/11/2005, 15h47
  5. threads et variables communes
    Par buzzz dans le forum Windows
    Réponses: 3
    Dernier message: 21/02/2005, 13h39

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