Есть вот такая подписка на событие
this.Trader.NewTrades += trades => this.GuiAsync(() => _tradesWindow.Trades.AddRange(trades)); //GuiAsync - это аналог Dispatcher.BeginInvoke из фреймворка
этот _tradesWindow.Trades обновляется часто, каждую секунду по нескольку штук обычно.
Если пробовать в цикле просто обращаться к последнему элементу (только читать) _tradesWindow.Trades, на время прохождения цикла он не меняется, хотя в это время событие уже точно происходит, и не раз. С чем это связано и как это побороть? Если запускать цикл обработки в другом потоке, это поможет? Или вообще невозможен доступ к одному элементу одновременно из разных функций?