|
ConncurrentBag - может ли терять объекты
|
|||
---|---|---|---|
#18+
использую ConcurrentBag для хранения записей с полями id, TaskId объекты записываются разными потоками. потом потом на некотором этапе. когда объекты с TaskId например 10 уже точно не добавляются. делаю следующее Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
цикл проходит, все удаляет. только в _bag остаются элементы с TaskId = 10 (хотя еще до вызова Код: c# 1.
записи с таким TaskId уже не добавлялись. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2013, 11:04 |
|
ConncurrentBag - может ли терять объекты
|
|||
---|---|---|---|
#18+
ну и + иногда после удаления объекты живут еще некоторое время и при ToList выдаются. я конечно все понимаю что потокобезопасная коллекция, но когда объекты появляются и удаляются через произвольный промежуток времени. то как писать бизнес-логику? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2013, 11:09 |
|
ConncurrentBag - может ли терять объекты
|
|||
---|---|---|---|
#18+
FsShoman, В потокобезопасных коллекциях не стоит рассчитывать на ToList, т.к. они выдадут вам состоянии на некоторый момент времени. В зависимости от того, как сложится работа потоков, там может быть всё что угодно. Поэтому надо как-то упорядочить работу с потоками. B вашем случае больше подойдёт ConcurrentDictionary. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2013, 22:59 |
|
ConncurrentBag - может ли терять объекты
|
|||
---|---|---|---|
#18+
SolYUtorFsShoman, В потокобезопасных коллекциях не стоит рассчитывать на ToList, т.к. они выдадут вам состоянии на некоторый момент времени. В зависимости от того, как сложится работа потоков, там может быть всё что угодно. Поэтому надо как-то упорядочить работу с потоками. B вашем случае больше подойдёт ConcurrentDictionary. ConcurrentDictionary - да уже попробовал. подошел :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 00:34 |
|
|
start [/forum/topic.php?fid=20&msg=38307296&tid=1404457]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 333ms |
total: | 586ms |
0 / 0 |