Class A {
private Map<Oject,Object> map;
public void clear() {
map.clear();
}
public void work() {
synchronized (map) {
map.put(new Object, new Object();
}
}
}
スレッド A がメソッドの途中にあるwork()
場合、メソッドを実行してもスレッド B はブロックされないというclear()
ことですか?
上記のコードとこれを持つことの違いは何ですか?
public void clear() {
synchronized (map) {
map.clear();
}
}