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 :

Partage de ressource entre thread


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
    61
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Par défaut Partage de ressource entre thread
    Bonjour a tous,

    Déjà je ne sait pas si le titre de mon poste correspond a mon problème. C'est vous dir mon niveau de compréhension pour le moment!

    Bref voila mon problème:
    dans le constructeur de ma Form on trouve :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                myThreadCalcCoef = new Thread(new ParameterizedThreadStart(ThreadLoop));
                argument = new Argument();
                myThreadCalcCoef.Start(argument);
    Avec ThreadLoop :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void ThreadLoop(object Data)
    {
    ...Code
    }
    Argument est un class de ma conception, et elle possède différentes variable alloué dynamique. Lorsque le trhead est activé, il ne prend pas en compte les changement/evolution survenu sur argument...

    Comment faire ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 177
    Par défaut
    http://emerica.developpez.com/csharp/threads/#LB et voila avec un peu de recherche

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Par défaut
    Ok, j'avais lu un autre article. La méthode que tu me suggère me parait être intéressante et je l'ai finalement utilisé. Seulement j'ai un petit problème avec les évènements :
    J'ai donc créé une classe similaire à "MyThreadHandle" comme présenter dans l'article. On y trouve une méthode DoWork() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
        class MyThreadTraitementHandle
        {   
    /*
    code
    */
            public void DoWork()
            {
                try
                {
                    Runing = true;
                    m_process.loadData(ref m_arg);
     
                    m_process.enFréquence();
                    m_process.normalise();
                    m_process.buildAprox();
                }
                catch (Exception e)
                {
                    Runing = false;
                    throw new Exception("A marche pô!");
                }
                Runing = false;
            }
        }
    La méthode buildAprox() appelé depuis l'objet m_process génère des évennement que j'aimerai pouvoir récupérer soit directement depuis la classe MyThreadTraitementHandle, soit en accédant a l'objet m_process.

    J'ai essayé les deux cas (création de délégué dans le premier, puis capture des évènement issue de m_process puis le les réémet) et a chaque fois une exception
    La référence d'objet n'est pas définie à une instance d'un objet.
    est levé rattrapé par le bloc try, catch présent dans DoWork().

    Je n'y comprends plus rien...

    L'objectif des évènement est de me donné des infos sur l’avancement des calculs, des manière a les indiquer dans ma Form.

    Merci pour votre aide.

Discussions similaires

  1. Partager des variables entre Threads
    Par ToTo13 dans le forum Concurrence et multi-thread
    Réponses: 7
    Dernier message: 01/04/2010, 16h09
  2. Réponses: 1
    Dernier message: 14/04/2008, 16h49
  3. Partager une ressource entre composants
    Par Alchemist dans le forum Delphi
    Réponses: 11
    Dernier message: 05/02/2007, 12h03
  4. [WinForms]Comment partager des objets entre threads ?
    Par AiSpirit dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 16/08/2006, 08h57
  5. Comment partager les ressources entre 2 threads?
    Par remimichot dans le forum Concurrence et multi-thread
    Réponses: 7
    Dernier message: 29/12/2005, 09h17

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