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