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

Dotnet Discussion :

System.Timer.Thread vs System.Timers.Timer [Débutant]


Sujet :

Dotnet

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut System.Timer.Thread vs System.Timers.Timer
    Bonjour,

    J'aimerai bien savoir la différence entre un timer de System.Timer.Thread et un timer de System.Timers.Timer

    Quelle est la meilleure méthode pour pouvoir garder la main sur l'IHM?

    Désolé: peut être c'est une question trop large.

    Merci de vos réponses.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    Effectivement, la question est un peu large. Tout dépend de ce que tu feras dans ce Timer.
    Globalement ces deux types de timer sont à peu près les mêmes. D'ailleurs il y a un System.Threading.Timer derrière le Timers.Timer. Il travaillent tous les deux dans un thread séparé. La principale différence est que le Timers.Timer propose une propriété SynchronizingObject qui permet à l'event de s'exécuter dans le même thread de la Form.
    Je ne suis peut-être pas très clair. Précise un peu ce que tu veux faire, ce sera plus simple.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Merci pour la réponse!

    Moi, je veux bien créer 3 tâches qui tournent en permanence tout en gardant la main sur le reste l'IHM.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Ok alors ce ne sont probablement pas des timers qu'il te faut mais plutôt des Thread. Regarde du coté de la classe Thread ou éventuellement BackgrounWorker.
    N'hésite pas si tu as des questions.

  5. #5
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Les deux sont proches. Voic les différences notables.

    System.Timers.Timer
    • génère un événement à intervalle régulier. Sur cet événement, il est possible d'avoir 0, 1 ou plusieurs callback, et de modifier en cours de route les callback appelés (on peut en enlever, en rajouter, etc...) ;
    • Cette classe n'est disponible que dans le Framework .Net classique ;
    • Cette classe n'est pas threadsafe, c'est-à-dire qu'il est potentiellement dangereux de manipuler le timer depuis plusieurs threads.



    System.Threading.Timer
    • appelle une méthode à intervalle régulier. Cette méthode est définie lors de l'instanciation du timer et ne peut pas être modifiée.
    • Cette classe est disponible dans toutes les versions du Framework .Net (version "classique", .NetCore, Universal Windows Plateform, etc...)
    • Cette classe est threadsafe.


    Voilà pour les grosses différences.

    Citation Envoyé par ebastien
    Ok alors ce ne sont probablement pas des timers qu'il te faut mais plutôt des Thread. Regarde du coté de la classe Thread ou éventuellement BackgrounWorker.
    N'hésite pas si tu as des questions.
    Tout dépend de ses besoins, et de ce qu'il entend par "en permanence" :
    • s'il s'agit de tâches périodiques, alors l'utilisation de timer est tout à fait justifiée ;
    • s'il s'agit de tâches tournant en permanence (=nécessite du CPU tout le temps), alors un Thread, un BackgroundWork ou un Task seront certainement plus appropriés.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/09/2008, 10h51
  2. Timer,Thread et barre d outil
    Par jhdscript dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/11/2006, 12h20
  3. Réponses: 1
    Dernier message: 09/08/2006, 16h04
  4. [Info]Sequenceur fiable: Timers, Threads
    Par vienin dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 15/07/2005, 00h08
  5. [Thread] Probleme avec mon Timer
    Par Nico66 dans le forum EDT/SwingWorker
    Réponses: 10
    Dernier message: 02/06/2005, 17h10

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