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 :

probleme parallélisation threads


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut probleme parallélisation threads
    Bonjour !
    ça doit faire 2 jours que je suis sur le même problème donc je vais demander un peu d'aide

    Alors:
    -Le main doit exécuter en permanence la lecture d'un fichier Excel, remplir un Dataset

    -Toutes les secondes je crée un nouveau thread (annexe) qui lui va prendre le dataset du main (en paramètre) va construire et remplir une base de donnée grâce aux données du dataset.
    donc toutes les secondes je crée un nouvel objet dataset après l'avoir passé au thread "annexe".car le main doit continuer de travailler mais avec un dataset tout neuf

    Sans parallélisation (tout fait dans le main) il n'y pas de problème mais des que j'utilise le main annexe lorsque j'essaie d'accéder a une des colonnes dans le dataset il me dit qu'elle n'existe pas ...

    Je vous mets un bout de code (piece jointe) mais il y a trop de fonctions appelées je pense pas pouvoir tout mettre ...

    Si quelqu'un peut m'aider, merci beaucoup d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    En gros, c'est un problème d'exclusion mutuelle, non ?

    Le principe est là, à adapter bien sûr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dataset ds;
    Mutex mutex;
     
    main() {
      mutex.wait();
      // Modif ds
      mutex.release();
    }
     
    annexe() {
      mutex.wait();
      // Modif ds
      mutex.release
    }
    Mais j'avoue que comme ton code est assez long et pas commenté, je n'ai pas fait l'effort de chercher très loin...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    non pas de problème d'exclusion mutuelle car le main a chaque fois qu'il a passé le dataset au thread annexe travaille sur un nouveau dataset on n'a donc pas de section critique ...
    en fait c'etait un probleme debile (dailleurs je ne voie pas pourquoi ca ne marchait pas) je faisais un DataRow[DataColumn] pour acceder aux elements du dataset passé en paramètre alors que DataRow[nom_colonne] marche .... allez savoir pourquoi ...
    En tout cas merci de ta reponse =)

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

Discussions similaires

  1. Probleme de threads et de pipes
    Par Marc san dans le forum C
    Réponses: 7
    Dernier message: 22/02/2006, 21h32
  2. Probleme de threads
    Par cryptorchild dans le forum Langage
    Réponses: 7
    Dernier message: 02/02/2006, 02h27
  3. Problème de threads avec pthread_create
    Par 180degrés dans le forum Linux
    Réponses: 6
    Dernier message: 19/12/2005, 12h07
  4. Probleme fermeture Thread
    Par Raton dans le forum MFC
    Réponses: 4
    Dernier message: 29/09/2005, 09h51
  5. [Kylix] Problème de thread
    Par moltov dans le forum EDI
    Réponses: 1
    Dernier message: 22/06/2005, 13h28

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