2010-02-22 4 views
2

Je voudrais savoir quel type de minuterie peut être utilisé dans une application C# et quelles sont leurs implications en termes de cuncurrency dans un environnement multithread.
Pourriez-vous me expliquer ou relier un tutoriel esaustive?
Merci.Timers dans une application .NET

Répondre

7

Il existe deux types de temporisateurs: ceux qui sont basés sur les messages, généralement centrés sur l'interface utilisateur et ceux qui sont basés sur des threads. Les versions de l'interface utilisateur sont Timer class from Windows Forms ou DispatcherTimer in WPF. Ceux-ci tendent à signaler des timings (normalement) sur le fil d'interface utilisateur, et utilisent fondamentalement la pompe de message standard pour gérer la synchronisation.

Les classes System.Timers.Timer et System.Threading.Timer utilisent un fil distinct pour la gestion des temporisations. Ceux-ci fonctionnent très bien, mais les événements "Tick" se produisent sur un fil séparé. Cela signifie que vous devez gérer la synchronisation des threads ou la synchronisation des threads de l'interface utilisateur si vous les utilisez.

Questions connexes