В C # поле класса означает, что у каждого потока есть свой экземпляр этого объекта.
например. поток 1 будет иметь свой собственный экземпляр объекта a, как и объект b.
Таким образом, 2 пользователя веб-приложения на разных компьютерах должны обращаться к полю экземпляра (скажем, коллекции) в разных потоках, верно?
Это заставляет меня задаться вопросом, зачем мне писать код для синхронизации коллекции? Если коллекция основана на экземплярах, а не на общем состоянии.
Только ли из-за того, что у меня может быть другая попытка потока прочитать коллекцию, когда я изменяю ее состояние. Я говорю «Это так», потому что это только возможный случай с помощью кода, который я на самом деле пишу? Например. порождает один поток для чтения несинхронизированной коллекции и использует исходный поток для записи в коллекцию. Или есть еще какие-то ошибки?
Я поместил это в раздел для начинающих, так как это кажется фундаментальным вопросом.
Спасибо