からsyncronized方法は、私はそれがdoSomething()
を呼び出しているときInner.run()
取得しロックこの呼び出し外クラスの内部クラス
class Outer {
class Inner implements Runnable {
public void run() {
doSomething();
}
}
public synchronized void doSomething() {
//...
}
}
のように本質的に見えるプログラムがありますか? synchronized(Inner.this)
またはsynchronized(Outer.this)
と同じですか?
ありがとうございます。
'synchronized'はcallsiteとは関係ありません。 – SLaks
'Inner.this'と' Outer.this'はJavaで有効なコードではありません。 – SamTebbs33
@ SamTebbs33そうです。これらのクラスを使用すると、内部クラスのインスタンスを囲むことに固有のことができます。 –