Если у меня есть несколько изменяемых свойств в объекте, на который будут воздействовать несколько потоков, я понимаю, что они должны быть синхронизированы.
class Doggie {
private String name;
private int age;
public void setName(String name) { this.name = name; }
public String getName() { return this.name; }
public void setAge(int age) { this.age = age; }
public int getAge() { return this.age; }
}
Вопросы:
- Не
return
и атомарные операции присваивания в Java? - Поскольку свойства могут не обязательно быть взаимосвязанными, не всегда имеет смысл синхронизировать с одной и той же блокировкой. Как организовать блокирующую структуру?
- Лучше ли идти с встроенной блокировкой или частным шаблоном блокировки объекта?