У меня есть вопрос относительно синхронизации кода, который выполняется несколькими потоками:
Насколько я знаю, каждый поток имеет свой собственный стек, следовательно, не -статические переменные существуют в разных местах в памяти для каждого потока (для потоков X есть стеки X, которые включают все нестатические переменные). Так зачем же что-то синхронизировать?
Я имею в виду, что если код, выполняемый потоками, включает некоторую переменную класса v1, то каждый поток имеет свой собственный «экземпляр» v1 (другой адрес памяти), и никакой другой поток не может "потрогай" его ... не правда ли?