|
|
|
События и многопоточность
|
|||
|---|---|---|---|
|
#18+
В книжках отдельно разобрана многопоточность и отдельно разобраны события. Я сделал событие по примеру из книжки, и у меня обработчики события запускаются в том же потоке, в котором это событие было опубликовано, а при попытке обращения к данным события из другого потока, я получаю ошибки многопоточности. К примеру, по таймеру делается запрос данных с сервера, затем пришедшие данные помещаются в производный от EventArgs объект и событие публикуется. Ниже код метода обработика: Код: plaintext 1. 2. 3. 4. 5. Обновение UI нужно делать в потоке UI, поэтому тут делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Но я сразу получаю ошибку в foreach (var element in elements) - коллекция была изменена, перечисление выполнить невозможно. В чем причина, и как это побороть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2011, 08:14 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=89&tid=1343125]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 346ms |

| 0 / 0 |
