メソッドにsynchronizedをつけたとしても、そのメソッドにlockがかかるのではなく、そのメソッドをもつオブジェクトそのものにlockがかかることを知る。
例えば、あるオブジェクトに2つのsynchronizedメソッド( methodA() & methodB() )があり、2つのスレッド (ThreadA & ThreadB)が走ってるとする。このときThreadAからmethodA()を実行している間、ThreadBからmethodB()を実行する事はできない。(もちろんmethodA()も・・・)なぜならオブジェクトそのものにlockが掛かってるから。
(ただし2つのメソッドのどちらかがsynchronizedでなかった場合。2つ同時に実行できる。)

なかなか奥が深いぞjava