ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
起動直後から経過時間を計測しているタイマーがオーバーフローする日数の一つ。
signedで32ビットの場合、最大で0x7fffffff(10進数で2147483647)までを扱うことができる。
これを1ミリ秒単位で扱うと、2147483647ミリ秒、つまり24日20時間31分23秒647ミリ秒(約24.9日)までを扱えることになるが、これを超えるとオーバーフローする。
起動後に0からカウントを始めたとすると、この時間が過ぎた時にタイマーイベントは誤動作を始め、システムは、停止したり誤動作をする。
従って、この問題のあるシステムでは、24.9日(3.5週間)を超えた連続稼動が出来ない。
.NET Frameworkは、Environment.TickCount プロパティという、コンピューターが起動してからの経過時間をミリ秒単位で保持する32ビット符号付き整数を提供している。次のように遷移する。
従って、これを用いているアプリケーションは、24.9日以上の連続運用ができない。
なお、.NET Framework 4.5 からは DateTime.Ticks プロパティが追加され、この問題は解決された。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます