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 :

[.NET C# Visual05] Passage par référence dans un BackgroundWorker


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de NeraOne
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 218
    Par défaut [.NET C# Visual05] Passage par référence dans un BackgroundWorker
    Bonjour à toutes et à tous !
    J'ai un petit soucis sur un programme, il se trouve que celui-ci peut parfois s'exécuter en 2 ou 3 minutes (ce qui est tout à fais normal car il tourne et fais de gros traitements à chaque fois) mais quand je suis en Debug, au bout d'une minutes VisualStudio m'informe d'un ContextSwitchDeadlock : Le CLR n'a pas pu effectuer de transition du contexte COM 0x1a1a08 au contexte COM 0x1a1b78 pendant 60 secondes. Le thread qui possède le contexte/cloisonnement de destination est probablement en train d'attendre ou de traiter une opération très longue sans pompage des messages Windows. Cette situation a généralement des effets négatifs sur les performances et peut parfois entraîner le blocage de l'application ou une utilisation ininterrompue de la mémoire. Pour éviter ce problème, tous les threads STA (Single Threaded Apartment) doivent utiliser des primitives d'attente de pompage (par exemple CoWaitForMultipleHandles) et pomper de manière régulière les messages lors des opérations qui sont longues à s'exécuter.
    Du coup je souhaite exécuter ma méthode dans un BackgroundWorker et à cette méthode je dois lui passer un paramètre par référence (ref)... Apparement, de ce que j'ai vu sur le tutoriel du site, c'est pas trop possible... Hein ?
    Quel sont vos sentiments la dessus ?
    Merci à tous et @+
    Antoine

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 104
    Par défaut
    Le BackgroundWorker va créer un nouveau Thread, donc je ne pense pas que cela résolve ton problème.

    Peux tu appeler Application.DoEvents() de temps à autre dans ton gros traitement ?

Discussions similaires

  1. [PHP 5.4] Passage par référence dans un appel de méthode
    Par Feneck91 dans le forum Langage
    Réponses: 8
    Dernier message: 06/06/2014, 14h49
  2. [Smarty] php 5.4 et passage par référence dans Smarty
    Par Rhimo dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/07/2013, 16h51
  3. Réponses: 5
    Dernier message: 21/03/2012, 18h12
  4. Passage par référence
    Par difficiledetrouver1pseudo dans le forum Langage
    Réponses: 9
    Dernier message: 28/09/2005, 11h17
  5. Problème très rapide de passage par référence
    Par Noxexplorer dans le forum ASP
    Réponses: 2
    Dernier message: 23/06/2005, 10h02

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