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 :

Faire une tâche de fond dans un IHM


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut Faire une tâche de fond dans un IHM
    Bonjour

    Je suis débutant en .NET.
    Je compte commencer bientôt un programme avec ".NET" sous VC 2008 (Express).

    Je pense le faire en C++, mais je n'ai pas trouvé de forum C++ dans la rubrique ".NET", alors je poste ma question ici. Il ne devrait pas y avoir de différence sur le fond.

    L'IHM de mon programme doit mettre à jour l'affichage d'une image vidéo en attendant les ordres et les clics de l'utilisateur.
    Je vois la possibilité de faire un thread, mais ça ne m'enthousiasme pas du tout à cause des difficultés qui ne manqueront pas de venir pour la synchronisation lors des actions de l'utilisateur.

    Alors je me demandais si il n'y avait pas la possibilité de se passer d'un thread????
    Par exemple s'il y a une fonction virtuelle appelée régulièrement par l'application principale... ou autre chose...

    Merci d'avance

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Si tu veux vraiment te passer d'un thread (chose que je ne te recommande pas du tout dans ce cas!) , tu peux le faire sans problème. Au risque de bloquer ton application bien sur !

    Mais c est une mauvaise conception que celle là.
    Professionellement un IHM pareil est inacceptable ( en tout cas dans tous les domaines ou la sécurité/fiabilité demandé est differente de nulle)

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut
    J'essaye juste de me simplifier la vie.
    Les threads sont toujours bordéliques à synchroniser (mutex, etc...)

    Tu dis que c'est faisable sans problème, comment donc??????
    Je ne compte pas bloquer l'application, bien sûr. (par exemple en gardant la main lors le l'initialisation)

    J'espère une sorte de fonction virtuelle appelée régulièrement par l'IHM.
    Si une telle fonction existe, je la surchargerais et la quitterais dès que le rafraichissement vidéo serait accompli.
    L'avantage serait que je pourrai être sûr qu'il n'y aura aucun conflit de threads (je n'aurai que le thread principal) lorsque l'utilisateur exécutera une action.

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Tu dis que c'est faisable sans problème, comment donc??????
    Je ne compte pas bloquer l'application, bien sûr. (par exemple en gardant la main lors le l'initialisation)
    peux le faire sans problème. Au risque de bloquer ton application bien sur !

    Je pense le faire en C++, mais je n'ai pas trouvé de forum C++ dans la rubrique ".NET"
    Du c++.Net c'est du C#.
    On dit souvent que C# est comme Java, mais c'est faux, c'est juste que c'est deux langages ce sont inspirés du C++.
    Après comme tu es dans du code managé pas de malloc, pas de pointeur, tout est géré par le framework.
    En fait faire du .net c'est apprendre à utiliser le framework, après une syntaxe ou une autre, on s'en fou un peu, sauf que C# sur le CV rend fou de joie les recruteurs, bien plus que VB.net par exemple.

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut
    Mais j'aimerais voir si y une alternative au thread.
    Faire un thread à tout prix n'est pas forcément la meilleur solution.

    Personne ne voit d'alternative?
    Citation Envoyé par Zaan
    Si tu veux vraiment te passer d'un thread (chose que je ne te recommande pas du tout dans ce cas!) , tu peux le faire sans problème
    Comment donc??? c'est ma question depuis le début.
    J'aviserai des risques plus tard...

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Citation Envoyé par Charlemagne Voir le message
    Mais j'aimerais voir si y une alternative au thread.
    Faire un thread à tout prix n'est pas forcément la meilleur solution.

    Personne ne voit d'alternative?

    Comment donc??? c'est ma question depuis le début.
    J'aviserai des risques plus tard...
    Je pensais qu'en mettant les deux citations l'une ne dessous de l'autre, tu allais comprendre ce qu'il a voulu dire, mais non apprement.
    J'explique ce que j'ai compris :
    L'autre moyen c'est de tout faire dans le thread principale.
    Et du coup ton ihm à de grande chance de freezer.

  7. #7
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par Charlemagne Voir le message
    Les threads sont toujours bordéliques à synchroniser (mutex, etc...)
    Avec le baggage théorique relatif, tu remarquera que c'est pas bordélique la programmation concurente. C'est juste une autre manière de penser.

    Note qu'en C#, dans une utilisation standard, la synchronisation peut etre réalisé avec Lock et Unlock. Le méchanisme se base sur les moniteurs, mais tout est encapsulé et tu n'as pas à faire la gestion toi meme.

Discussions similaires

  1. Modéliser une tâche de fond dans un UC
    Par rdtech dans le forum Cas d'utilisation
    Réponses: 4
    Dernier message: 09/11/2014, 16h02
  2. Réponses: 6
    Dernier message: 21/09/2006, 18h33
  3. Réponses: 5
    Dernier message: 27/09/2005, 10h18
  4. Etirer une image de fond dans une cellule
    Par dreamanoir dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/07/2005, 15h39
  5. Réponses: 4
    Dernier message: 03/05/2005, 10h03

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