私は次のようなコードに数回出くわしました
class Foo {
private Object lock = new Object();
public void doSomething() {
synchronized(lock) {
...
私が興味を持っているのは、なぜ書き込みではなくロックオブジェクトが作成されるのかということsynchronized(this)
です。ロックの共有を有効にするためにありますか?最適化だと読んだのをぼんやりと覚えています。本当?また、ある文脈では、ロックを次のように宣言することは理にかなっていfinal
ますか?