そりゃ変だよ。最初はthread.stop()なんていう糞仕様があったぐらいだし。
複数オブジェクトに対しor条件でwaitできれば少しはマシだったのに。
ああでも最近のJavaがどうなってるかは知らないよ。
1.4なんてぜんぜん見てない。

> 完全に意味違うぞ。

意味は違うけど、その後の処理は
 *ほとんどの場合においてほとんど同じ*
という罠。

solarisのman pageのcond_timedwait()の使用例でも、抜けた後、
「やっぱり処理する必要があるかチェック」してたりする。

俺のトリアタマでは、複数のワーカースレッドが単一のリクエストキューを
待つ、という使い道しか思いつかないや。