>>863
クラスA#method1() method3呼び出し
クラスA#method2()
クラスB#method3() method2呼び出し

この状況でmethod1,3を異なるスレッドが呼び出したらデッドロックになりうるのでは?
クラスA,Bがそれぞれ専用のロックオブジェクトを持っていて
method1,2,3の内部でロックオブジェクトでロックしているとして