@VladD Давайте начнем с начала.
Есть что угодно, которая обладает свойством Items, методом Add и событием ItemAdded. Этакий ItemsHolder. Если мы сделаем этот ItemsHolder : IList, то получим вообще "List".
Просто для обычных коллекций нормально использовать в пределах класса клиента и делать lock(listObj), а вышеопианные вещи они шарятся по всему приложению (но по факту обладают всеми признаками коллекции, хоть вообще IList)
Это списки чего-угодно, пулы, очереди задач и вообще вещь частая. Можно даже представить его как "список который расшаривается".
Есть что угодно, которая обладает свойством Items, методом Add и событием ItemAdded. Этакий ItemsHolder. Если мы сделаем этот ItemsHolder : IList, то получим вообще "List".
Просто для обычных коллекций нормально использовать в пределах класса клиента и делать lock(listObj), а вышеопианные вещи они шарятся по всему приложению (но по факту обладают всеми признаками коллекции, хоть вообще IList)
Это списки чего-угодно, пулы, очереди задач и вообще вещь частая. Можно даже представить его как "список который расшаривается".