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