.NETには3つのタイマータイプがあることを知っています(.NET Frameworkクラスライブラリのタイマークラスの比較を参照)。メインスレッドがビジーの場合に他のタイプがドリフトする可能性があるため、スレッドタイマーを選択しました。これには信頼性が必要です。
このタイマーがタイマーの制御で機能する方法は、別のスレッドに置かれるため、ビジー状態でないときに親スレッドで完了した作業とともに常にティックできます。
コンソールアプリケーションでのこのタイマーの問題は、タイマーが別のスレッドで進んでいる間、メインスレッドがアプリケーションに対して何も実行しておらず、閉じることです。
while true
ループを追加してみましたが、タイマーが切れるとメインスレッドがビジー状態になります。