![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
нет.
rwlock-ом (одним и тем же) надо окружать операции чтения/записи в коллекцию. -------------------- Бонифаций. |
|||
|
||||
| chief39 |
|
||||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Пока майор увидит что осетрина завоняла и побежит за новой - многие её сожрут уже.... Фактически.. майор должен проверить её свежесть перед каждым употреблением в пищу. И если воняет - запретить, пока новую не притащит... Толку, что он каждые пять минут будет менять её - она через минуту, может, поплохеет и пару человек отравятся Добавлено @ 16:35
То есть ТОЛЬКО один такой объект может быть для коллекции? И действует он на неё всю? -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Если проверка актуальности не конфликтует с обновлением, то ReadLock не обязателен.
А в хешмапе звести еще один лок, на добавление элемента. Добавлено @ 16:39 Как здесь людно -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| chief39 |
|
||||||||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Стоп.... примерна сане, по ссылке
В общих чертах - то о чём я думал, насчёт одной записи... Единственное - Такое не прокатит на случай добавления , а не обновления... тут, выходит, уже необходим ещё один лок на всю мапу при добавлении... И на него тоже... выходит, ориентироваться надо всем тредам, которые не нашли чего-то и пытаются его в первый раз вписать... Добавлено @ 16:51
Точно... Всё равно трэды, которые обнаружили непорядок, попробуют обновить. Придут к локу на запись, подождут пока первый его освободит, проверят что первый всё починил и пойдут себе дальше.... Точно, пса его за ухо! МЫСЛЮ ЧИТАЕШЬ! Эээ.. погодите, не уходите!!! Тэээкс.... Тогда кроме
надо ещё добавить checkExists(Long recordID)... и в его теле проверять наличие записи... а потом пытаться получить лок внешнего класса на предмет вставки... Точно, чёрт дери!!! Это сообщение отредактировал(а) chief39 - 26.10.2006, 16:53 -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
||||||||
|
|||||||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Спасибо, мужеги!!!
-------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Только это уже будет в HashMap и тама сделать еще пару методов: lock()/unlock(). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
? Я планирую отдельный лок создать в классе кэша "возле" хэшмэпа. И локи/анлоки на нём вызывать в методе, который будет делать вставку в мэп -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Тоже вариант. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 1 Всего: 40 |
а ConcurrentHashMap не пробовали использовать? там уже все это есть.
-------------------- Бонифаций. |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Нет. ConcurrentHashMap, равно как и другие коллекции из этой серии просто следят за собственной целостностью и не более, никакой пользовательской логики они на себя не берут. ConcurrentHashMap это тоже самое что и Hashtable, только без блокировок:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |