|
|
|
Поведение ArrayList в нагруженном приложении
|
|||
|---|---|---|---|
|
#18+
Существует следующая ситуация. Есть некоторый класс, в котором определен Код: java 1. PEvent, предположим, такой: Код: java 1. 2. 3. 4. 5. 6. Запускаем в несколько потоков расчет. В итоге в пределах одного метода работающего с этим списком возникает следующая ситуация - в списке образуются объекты-дубликаты. Почему так? Каждый расчет берет из базы информацию по какому-то человеку и производит с ними действия. Если попробовать сделать единичный расчет на одном человеке, на котором образуются дубликаты - то их нет. А при многопоточном, либо последовательном расчете по всей базе - возникают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 18:36:40 |
|
||
|
Поведение ArrayList в нагруженном приложении
|
|||
|---|---|---|---|
|
#18+
Lonely Morgan, авторВ итоге в пределах одного метода работающего с этим списком возникает следующая ситуация - в списке образуются объекты-дубликаты. Почему так? Такое невозможно, если Ваш код не изменяет лист. Как Вы определили, что образуются объекты-дубликаты? size() проверяли? Я не знаю, как у Вас построена обработка в многопоточном режиме объектов этого листа. Может, просто в разных потоках обрабатывается один и тот же объект PEvent. Вот вам и дублирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 18:53:14 |
|
||
|
Поведение ArrayList в нагруженном приложении
|
|||
|---|---|---|---|
|
#18+
P.S. И учтите, что ArrayList не синхронизирован http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 18:55:31 |
|
||
|
Поведение ArrayList в нагруженном приложении
|
|||
|---|---|---|---|
|
#18+
Большой Синий КитP.S. И учтите, что ArrayList не синхронизирован http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html Collections.synchronizedList(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 18:56:34 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=287&tid=2131662]: |
0ms |
get settings: |
13ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 317ms |
| total: | 471ms |

| 0 / 0 |
