C# で高解像度の周波数 (100 マイクロ秒ごとなど) でメソッドを実行する方法はありますか?
異なる周波数での 2 つの異なるメソッド、たとえば、0.1 ms ごとの Method1 と 0.3 ms ごとの Method2 についてはどうでしょうか。
Systems.Timers.Timer
MSDN には、次のようなクラスへのイベント ハンドラーのアタッチに関するドキュメントがあります。
public static void Main()
{
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(Method);
aTimer.Interval = 2000;
aTimer.Enabled = true;
GC.KeepAlive(aTimer);
}
しかしSystem.Timers.Timer
、ベンチマークしたときの精度は15〜16ミリ秒しかありません。Stopwatch
CPU のパフォーマンス カウンターの精度は 0.1 ミリ秒以下ですが、クラスにイベント ハンドラーをアタッチする方法が見つかりません。
また、2 つのメソッドを異なる頻度で実行するときに注意する必要があるスレッドの問題はありますか?
ありがとう!