Windows.Forms.Timer OR System.Threading.Timer

У меня есть приложение, которое запускает много потоков. Каждый поток должен иметь таймер, который проверяет что-то в этой области потока. Мой вопрос: какой таймер я должен использовать и в чем разница между ними?

Ответ 1

Эта статья дает отличное сравнение и должна содержать необходимую информацию: Сравнение классов таймера в библиотеке классов .NET Framework:

                                    Windows.Forms  System.Timers         System.Threading 
Timer event runs on what thread?    UI thread      UI or worker thread   Worker thread 
Instances are thread safe?          No             Yes                   No 
Familiar/intuitive object model?    Yes            Yes                   No 
Requires Windows Forms?             Yes            No                    No 
Metronome-quality beat?             No             Yes*                  Yes* 
Timer event supports state object?  No             No                    Yes 
Initial timer event schedulable?    No             No                    Yes 
Class supports inheritance?         Yes            Yes                   No

* В зависимости от доступности системных ресурсов (например, рабочих потоков)