Java 1.7.0_09 を実行しているデュアル クアッド コア Windows 2008 64 ビット サーバーで 3000 の同時セッションと毎秒約 300 のトランザクションを使用した負荷テスト中に、偽のウェイクアップの 2 つの確認されたインスタンス、つまり通知されずに wait() メソッドを終了したスレッドを実際に観察しました。および待機タイムアウトが期限切れになる前。
ウェイクアップ中、マシンの CPU は 20% 未満であり、十分なメモリが利用可能でした。また、過剰なガベージ コレクションも観察されていません。幸いなことに、最近導入されたスピン ロックは、この状態をトラップして、wait() を続行することができました。
スプリアス ウェイクアップ現象は java.lang.Object wait() の JavaDoc に記載されていますが、実際に実際に見たのは初めてです。これは Windows または Java のバグですか?