Некоторые списки, например TraceListeners, являются безопасными с точки зрения работы с потоками. Во время изменения этой коллекции изменяется копия и устанавливается ссылка на копию. Большинство коллекций, подобных ArrayList (Список массивов), небезопасны при работе с потоками. Но, сделав их автоматически безопасными для работы с потоками, мы уменьшили бы эффективность работы с коллекциями, даже если бы не стоял вопрос о безопасности.
ArrayList (Список массивов) содержит статический метод Synchronization (Синхронизация)
для возврата к безопасной, с точки зрения работы с потоками, версии ArrayList
(Список массивов). Свойство IsSynchronized позволяет проверить, безопасна ли
используемая версия ArrayList (Список массивов) с точки зрения работы с потоками.
Свойство SyncRoot возвращает объект, который может использоваться для синхронизации
доступа к коллекции. Это позволяет синхронизировать потоки, которые могут использовать
ArrayList (Список массивов), с помощью одного и того же объекта.