Обновление коллекции по событию и одновременное ее чтение
От: D_Alex  
Дата: 01.04.11 06:21
Оценка:
Есть вот такая подписка на событие

this.Trader.NewTrades += trades => this.GuiAsync(() => _tradesWindow.Trades.AddRange(trades)); //GuiAsync - это аналог Dispatcher.BeginInvoke из фреймворка


этот _tradesWindow.Trades обновляется часто, каждую секунду по нескольку штук обычно.

Если пробовать в цикле просто обращаться к последнему элементу (только читать) _tradesWindow.Trades, на время прохождения цикла он не меняется, хотя в это время событие уже точно происходит, и не раз. С чем это связано и как это побороть? Если запускать цикл обработки в другом потоке, это поможет? Или вообще невозможен доступ к одному элементу одновременно из разных функций?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.