.NETには3つのTimerクラスがあります(Timers.Timer、Threading.Timer、およびWindows.Forms.Timer)。いつ使うべきですか?それらを使用することのパフォーマンスへの影響は何ですか?.netのタイマー - いつ使いますか?
答えて
thisが役立つかどうかを確認してください。
編集:上記のほか、タイマーの間隔容量が異なると思います。
私はdotnetrocksショーの1つでそれを聞いたことを覚えています。私はそれを見つけようとします。
EDIT2:各クラスのMSDNページで人々が追加した警告もご覧ください。 (これは言い、それはWindowsアプリケーションのために最適化されている。したがって、ウィンドウアプリケーションで使用されるべきである)
http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx
http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx
http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.aspx。
IMOでは、タイマーの機能が異なります。あなたのニーズに合ったものを決める必要があります。
私の知る限り、パフォーマンスの違いはありません。ロジックを実行するのに必要な時間タイマー経過イベントハンドラー内で実行します。重要な違いは次のとおりです。
- Timers.TimerとThreading.Timerは、別々のThreading.ThreadPoolスレッドからイベントを発生させます。
- Forms.Timerは、UIスレッド内からイベントを発生させます。
- Timers.Timerは、フォーム上のコンポーネントとして配置できます。
- Forms.Timerは、よりユーザーフレンドリーなインターフェイスを備えています。
あなたのニーズに応じて1つお選びください。タイマー経過イベントへの応答がバックグラウンドジョブの一種である場合、UIとは独立して発生する必要がある場合は、Timers.TimerまたはThreading.Timerが必要になります。タイマー経過イベントへの応答がビジュアルフィードバックのようなものなら、Forms.Timerが必要になります。
個人的には、カスタムタイマー抽象化/インターフェイスを作成し、.NETタイマーに基づいて3つの実装を作成します。これにより、理論上は、コードを変更せずにさまざまな種類のタイマーを切り替えることができます。
- 1. .NETタイマー - リソースクリーンアップ
- 2. .Netタイムアウト:WaitForSingleObjectとタイマー
- 3. C#他のタイマーの中のタイマーを使用していますか?
- 4. タイマーの使い方 - 方法?
- 5. Javaでのタイマーとタイマーのタスクについて
- 6. タイマーはどのように.netで動作しますか?
- 7. なぜこのタイマーが.netサービスアプリケーションで起動しないのですか?
- 8. .Net 4.0と.Net 4.5のタスクを使用していますか?
- 9. .NETタイマーは非同期で実行されますか?
- 10. メトロアプリ(.NET)の非UIタイマーの制御
- 11. プリプロセッサディレクティブを.netで使用するのはいつですか?
- 12. ゲームオブジェクトのタイマーが1つになっています
- 13. .Netライブラリは.Net言語で使用されていますか?
- 14. .netコアで古い.netライブラリを使用しています
- 15. Facebookのタイマーについて迷惑をかけるもの
- 16. スレッドグループでタイマーを正しく使用しています(今までのタイマーは無視されます)
- 17. タイマーは止まらない
- 18. stm32タイマーについて:ディセーブルタイマーとディセーブルタイマーの違いは何ですか?
- 19. NET SNMPのsnmp_synch_response()はいつSTAT_TIMEOUTを返しますか?
- 20. .NETガベージコレクタはいつこのオブジェクトを解放しますか?
- 21. .NETのスレッディングについて
- 22. .NET 2.0の.NET 3.5機能を使用しています....それは動作していますか?
- 23. .NETメソッドが見つからないエラー
- 24. OTP.NETはどのバージョンの.NETを使用していますか?
- 25. .NETで汎用プロパティが役立つと思いますか?
- 26. いつメソッドエイリアシングを使いますか?
- 27. .NETのあいまいな一致が見つかりました
- 28. NAudio:ソフトフォンの呼び出し音を鳴らしています - ループやタイマーを使用していますか?
- 29. Scalaと.NET - うまく動作しますか?いくつかの経験?ステートオブワーカー
- 30. ジョブ用のサーバーにタイマーを実装していますか?