В каких случаях необходимо синхронизировать доступ к членам экземпляра? Я понимаю, что доступ к статическим членам класса всегда необходимо синхронизировать, потому что они распределены между всеми объектными экземплярами класса.
Мой вопрос в том, когда я буду некорректным, если не синхронизировать элементы экземпляра?
например, если мой класс
public class MyClass {
private int instanceVar = 0;
public setInstanceVar()
{
instanceVar++;
}
public getInstanceVar()
{
return instanceVar;
}
}
в каких случаях (использования класса MyClass) мне нужно было бы иметь методы:
public synchronized setInstanceVar() и
public synchronized getInstanceVar()?
Заранее благодарим за ваши ответы.