混乱するたびに聞きにきてスマン。
synchronizedについてなんだが、
例えば

synchronized(this){ hoge(); }

とか書くと、複数のスレッドからでもこのブロックは同期されるよな?(日本語変だけど)

synchronized(new hanage()){ hoge(); }

こうすると、このブロックが呼ばれるたびにオブジェクトが生成されるから、
その都度新しいオブジェクトのロックを取得していて、意味が無いということで
良いよな?この時点で違ってたら突っ込みぷりいず。

つまり、
synchronized( xxxx )
のxxxxの部分のオブジェクトは端的に言うと『ロックというフラグを提供しているだけ』なのか?