英語で読む

次の方法で共有


サーバー ベースのタイマーの概要

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

サーバー ベースのタイマーを使用して、アプリケーションでイベントが発生する定期的な間隔を指定できます。 その後、このイベントを使用して、一定の間隔で処理を行うことができます。 たとえば、1 日 24 時間実行中、週 7 日に維持する必要がある重要なサーバーがあるとします。 タイマーを定期的にサーバーをチェック、重要なシステムが実行されていることを確認使用するサービスを作成できます。 システムが応答していない場合、サービスことができます、サーバーを再起動または管理者に通知を試みます。

注意

サーバーのタイマーの間隔はミリ秒単位で指定します。

サーバーのタイマー、Windows のタイマー、およびスレッドのタイマー

Visual Studio .NET Framework での 3 つのタイマー コントロールが存在します。

  • のツールボックスに追加できるサーバー ベース タイマー]

  • のツールボックスの [常にある Windows ベースのタイマー、

  • プログラムで利用可能なスレッドのタイマー

Windows フォーム アプリケーションで用に、Windows ベースのタイマーが最適化されています。 サーバー ベース タイマーは、更新プログラムをサーバー環境で実行する最適化された従来タイマーのです。 スレッドのタイマーは、単純で軽量なタイマー イベントの代わりにコールバック メソッドを使用してスレッド プールのスレッドによって提供されますで。

Win32 アーキテクチャでのスレッドの 2 種類があります。UI スレッドとワーカー スレッド。 UI スレッドはアイドル状態のほとんどの時間を配置し、メッセージ ループに到着するメッセージを待ちます。 メッセージを受信すると処理して次のメッセージが到着する待ちます。 また、ワーカー スレッドはバックグラウンド処理を実行する使用され、メッセージ ループを使用しません。 Windows タイマーと、サーバー ベースのタイマーの両方、Interval プロパティを使用してを実行します。 スレッドのタイマーの間隔が Timer コンストラクターで設定します。 タイマーが向けさまざまな目的は、そのスレッドの処理で evidenced として。

  • Windows タイマーは、UI スレッドを処理を実行するときに使用される、シングルスレッド環境向けです。 Windows のタイマーの精度は 55 ミリ秒に制限されます。 これら従来のタイマーか必要あるユーザー コード、利用可能な UI メッセージ ポンプがあると常に、同じスレッドから動作別のスレッドに呼び出しをマーシャリングします。 COM コンポーネントのパフォーマンスを有害があります。

  • サーバー ベース タイマーは、マルチスレッド環境でのワーカー スレッドを使用向けです。 異なるアーキテクチャを使用すると、ため、サーバー ベースのタイマー Windows タイマーよりはるかに正確に可能性のあります。 サーバー タイマーは、発生したイベントを処理にスレッド間で移動できます。

  • スレッドのタイマーは、メッセージは、スレッドで pumped いないシナリオで役立ちます。 たとえば、Windows ベースのタイマーは、オペレーティング システムのタイマー サポートに依存し、スレッド上でメッセージをポンプするされませんが場合、タイマーに関連付けられたイベントは発生しません。 スレッドのタイマーここでは便利です。

Windows タイマーは System.Windows.Forms 名前空間で、サーバー タイマー、 System.Timers 名前空間にあるありスレッドのタイマーは、 System.Threading 名前空間にあります。

参照

処理手順

方法 : サーバー ベースのタイマーのインスタンスを作成します。

方法 : サーバー ベースのタイマーを処理します。

参照

タイマー コンポーネントの概要 (Windows フォーム)

概念

タイマー プログラミング アーキテクチャ

タイマ

マネージ スレッド プール