私はjavaの同期概念について読んでいて、同期文を見つけました。Javaの同期文で引数を渡す必要があるのはなぜですか?
静的ブロック(これは単なる例です)のように見えますが、なぜ引数を渡すのですか?渡された引数には、指定されたデータ型がありません。
例:
public class MsLunch {
private long c1 = 0;
private long c2 = 0;
private Object lock1 = new Object();
private Object lock2 = new Object();
public void inc1() {
synchronized(lock1) {
c1++;
}
}
public void inc2() {
synchronized(lock2) {
c2++;
}
}
}
いずれかがそれについて知っている場合、説明してください。
https://docs.oracle.com/javase/tutorial/essential/concurrency/locksync.html – kosa
ロックするオブジェクトを指定する必要があるためです。 –
'lock1'と' lock2'が渡されているのですか?それらは同期しているオブジェクトです。 – Carcigenicate