
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
29.12.2013, 13:11
|
|||
|---|---|---|---|
|
|||
Что будет в этом случае? |
|||
|
#18+
Здравствуйте. Заинтересовал вопрос. Есть функция которая использует синхронизацию. Код: java 1. 2. 3. 4. 5. 6. 7. Возможно что в момент каких-то действий с session, до добавления в HashMap другой поток "войдет" в эту функцию и до synchronized блока изменит ссыку на session? В таком случае в HashMap будет добавлена уже другая ссылка? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2013, 13:15
|
|||
|---|---|---|---|
Что будет в этом случае? |
|||
|
#18+
То есть, войдет в метод, и изменит его аргумент? Нет, такое невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2013, 13:28
|
|||
|---|---|---|---|
|
|||
Что будет в этом случае? |
|||
|
#18+
cdtyjvТо есть, войдет в метод, и изменит его аргумент? Нет, такое невозможно. Точно? Потому как проблема есть, что не все session есть в HOSTS_SESSIONS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2013, 13:28
|
|||
|---|---|---|---|
|
|||
Что будет в этом случае? |
|||
|
#18+
Возможно проблема и не в этом. Но меня терзают смутные сомнения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2013, 03:50
|
|||
|---|---|---|---|
|
|||
Что будет в этом случае? |
|||
|
#18+
И все же. Будут еще мнения? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2013, 14:13
|
|||
|---|---|---|---|
Что будет в этом случае? |
|||
|
#18+
Ссылки находятся в стеке, который у каждого вызова свой, а не в методе, поэтому различные вызовы, в обращении с локальными ссылками метода никак не пересекаются. Однако session.getSessionId() несомненно может измениться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2013, 14:25
|
|||
|---|---|---|---|
|
|||
Что будет в этом случае? |
|||
|
#18+
Аргументы метода передаются через стек, у каждого потока свой собственный стек. Теоретически, можно попортить и чужой стек, но это не такая тривиальная задача. Так что аргументы вашей функции скорее всего защищены. А вот что за таблица Hub.HOSTS_SESSIONS - неизвестно, вполне возможно, именно она не защищена от конкурентной записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2127884]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 452ms |

| 0 / 0 |
