24.9日
読み:にじゅうよんてんきゅうにち
外語:24.9days

 起動直後から経過時間を計測しているタイマーがオーバーフローする日数の一つ。
目次

概要
 signedで32ビットの場合、最大で0x7fffffff(10進数で2147483647)までを扱うことができる。
 これを1ミリ秒単位で扱うと、2147483647ミリ秒、つまり24日20時間31分23秒647ミリ秒(約24.9日)までを扱えることになるが、これを超えるとオーバーフローする。

特徴

現象
 起動後に0からカウントを始めたとすると、この時間が過ぎた時にタイマーイベントは誤動作を始め、システムは、停止したり誤動作をする。
 従って、この問題のあるシステムでは、24.9日(3.5週間)を超えた連続稼動が出来ない。

.NET Framework
 .NET Frameworkは、Environment.TickCount プロパティという、コンピューターが起動してからの経過時間をミリ秒単位で保持する32ビット符号付き整数を提供している。次のように遷移する。
 従って、これを用いているアプリケーションは、24.9日以上の連続運用ができない。
 なお、.NET Framework 4.5 からは DateTime.Ticks プロパティが追加され、この問題は解決された。

再検索