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 :

[C#] Events, éviter les boucles infinies


Sujet :

Windows Forms

  1. #41
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Ok, et en effet le Queue est un bon choix ici.

    La, il est possible que les thread multiples aient de l'interêt (à raison d'une thread par automate) mais elle n'ont pas plus de raison d'être mise en attente que ta thread pour automate unique.
    Disons que pour l'instant je suis parti sur 1 seul automate, 1 seul thread créé au démarrage qui traite une requête, et ensuite fait un wait en attendant les requêtes suivantes. Mais peut-être qu'il serait mieux de créer un thread à chaque nouvelle requête, comme ca plus de wait (mon chef est partisant de la 1ere solution)
    Après il reste le problème de la fonction "principale" de la DLL qui recueille les requêtes et attend la réponse, et là à mon avis il faut obligatoirement un wait.
    Mon programme marche déjà mais sans les events, et il bouffe 50 voire 100% du CPU même quand il ne fait rien !
    Pour plusieurs automates on verra plus tard, déjà il faudrait que ca marche bien pour 1.

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

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par levalp Voir le message
    Disons que pour l'instant je suis parti sur 1 seul automate, 1 seul thread crée au démarrage qui traite une requête, et ensuite fait un wait en attendant les requêtes suivantes.
    Mais peut-être qu'il serait mieux de créer un thread à chaque nouvelle requête, comme ca plus de wait (mon chef est partisant de la 1ere solution)
    Je ne comprends pas l'interêt des threads multiples ici. Comment reçois tu tes requêtes depuis tes clients ? (sous quelle forme et par le biais de quel mécanisme)

  3. #43
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Je ne comprends pas l'interêt des threads multiples ici. Comment reçois tu tes requêtes depuis tes clients ? (sous quelle forme et par le biais de quel mécanisme)
    La DLL est appelée par un simple appel de fonction. Cette fonction va mettre la requête dans une Queue.
    Ensuite c'est un autre thread qui est créé au démarrage qui va attendre les requêtes, les prendre dans la queue et les envoyer à l'automate.

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

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par levalp Voir le message
    La DLL est appelée par un simple appel de fonction. Cette fonction va mettre la requête dans une Queue.
    Ok, donc ton automate ne reçoit que des requêtes locales au poste ?

    Ensuite c'est un autre thread qui est créé au démarrage qui va attendre les requêtes, les prendre dans la queue et les envoyer à l'automate.
    Il s'agit d'une queue implémentée avec la classe Queue de .Net ?

  5. #45
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Ok, donc ton automate ne reçoit que des requêtes locales au poste ?
    Oui.

    Citation Envoyé par Bluedeep Voir le message
    Il s'agit d'une queue implémentée avec la classe Queue de .Net ?
    Oui.

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

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Donc à la réflexion, la Queue n'est peut être pas le meilleur choix ici (en effet, il n'existe pas d'évenement sur une queue, et pas de possibilité d'être en attente dessus).

  7. #47
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Donc à la réflexion, la Queue n'est peut être pas le meilleur choix ici (en effet, il n'existe pas d'évenement sur une queue, et pas de possibilité d'être en attente dessus).
    Y aurait-il une possibilité d'être en attente sur une BindingList ?

  8. #48
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Oui, car elle balance des event

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

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Il est 15h15, donc on verra ça lundi

    Je rentre dans des coins plus civilisés et moins loin de tout que la RP.

  10. #50
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Il est 15h15, donc on verra ça lundi

    Je rentre dans des coins plus civilisés et moins loin de tout que la RP.
    OK. Bon weekend.

  11. #51
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut
    Est-ce que quelqu'un aurait un exemple d'utilisation de la fonction WaitForSingleObject en C# ? http://msdn2.microsoft.com/en-us/library/ms687032.aspx
    Je n'en trouve pas sur internet.
    Merci d'avance.

Discussions similaires

  1. Empêcher les boucles infinies
    Par Smilecodes dans le forum Apache
    Réponses: 2
    Dernier message: 19/08/2007, 12h04
  2. problème avec les boucle infinies
    Par manciaux dans le forum C
    Réponses: 3
    Dernier message: 14/05/2007, 12h16
  3. [MySQL] Chapitre, sous-chapitre & sous-sous-chapitre - éviter les boucles ?
    Par glork2007 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/03/2007, 09h49
  4. [SQL - procStock ] optimisation du code (éviter les boucles)
    Par luimême dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/10/2005, 17h22
  5. [C#] Comment eviter les boucles infinies ?
    Par Thomas Lebrun dans le forum C#
    Réponses: 12
    Dernier message: 09/06/2004, 00h04

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