ObservableCollection vs ThreadSafeObservableCollection
Изучая пример Samples\Quik\Sample из поставки StockSharp, обнаружил, что используются оба, что немного сбило с толку. Например, Portfolios и Positions объявлены как ThreadSafeObservableCollection, в то время как Securities, Trades и Orders объявлены как ObservableCollection.
Код в MainWindow.xaml.cs, из которого происходит обращение к перечисленным объектам:
Код
Trader.NewSecurities += securities => this.GuiAsync(() => _securitiesWindow.Securities.AddRange(securities));
Trader.NewMyTrades += trades => this.GuiAsync(() => _myTradesWindow.Trades.AddRange(trades));
Trader.NewTrades += trades => this.GuiAsync(() => _tradesWindow.Trades.AddRange(trades));
Trader.NewOrders += orders => this.GuiAsync(() => _ordersWindow.Orders.AddRange(orders));
Trader.NewStopOrders += orders => this.GuiAsync(() => _stopOrderWindow.Orders.AddRange(orders));
Trader.NewPortfolios += portfolios => this.GuiAsync(() => _portfoliosWindow.Portfolios.AddRange(portfolios));
Trader.NewPositions += positions => this.GuiAsync(() => _positionsWindow.Positions.AddRange(positions));
Помогите разобраться, в каком случае что лучше использовать.