4

を実装するプロキシクラスとしてロックマネージャがありますInvocationHandler

このロックマネージャーがDeadLockExceptionこのプロキシオブジェクトを呼び出しているオブジェクトに例外(たとえば)をスローするようにし、呼び出し元がこの例外をキャッチできるようにします。

それはJavaで可能ですか?それがどういうわけかそれを機能させるための最良の方法ではない場合

4

2 に答える 2

2

InvocationHandlerを実装する場合は、次のメソッドをオーバーライドします。

@Override
Object invoke(
   Object   proxy,
   Method   method,
   Object[] args ) throws Throwable {
   throw new DeadLockException();
}

ご覧のとおり、このメソッドのシグネチャは、Throwable Exception がスローされる可能性があることを示しています。呼び出し元での単純な try-catch で十分です。

デッドロック検出で必要なロジックは何ですか?

デッドロックはリソース割り当てを指しますが、それはどこにあるのでしょうか?

于 2012-11-12T07:12:45.747 に答える
0

プロキシが実装するインターフェイスの関連メソッドで DeadLockException を宣言していないようです。呼び出し元は、指定されるインターフェイスの実装がプロキシになることを知りません。インターフェイスで何が行われているだけです。

于 2013-11-29T16:46:37.140 に答える