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ビット符号付き整数を提供している。次のように遷移する。

  • 0 から始まる
  • 0x7fffffff == 2147483647 == Int32.MaxValue まで増える (このときが24.9日)
  • 0x80000000 == -2147483648 == Int32.MinValue になる (負数になる)
  • 0xffffffff == -1 になる
  • 0 に戻る

従って、これを用いているアプリケーションは、24.9日以上の連続運用ができない。

なお、.NET Framework 4.5 からは DateTime.Ticks プロパティが追加され、この問題は解決された。

用語の所属
オーバーフロー
関連する用語
36時間
49.7日
248日
497日

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club