|
|
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
Здравствуйте.. Скажите пожалуйста, нужно ли синхронизировать доступ на чтение статического ресурса? Поясню примером: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Понятно что нужно синхронизировать метод, изменяющий ресурс. Но вот вопрос - нужно ли синхронизировать чтение? ps: есть некая статическая информация - которая должна читаться всеми instances данного класса (хотелось бы чтобы это было без синхронизации).. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 16:56 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
нужно и static не играет роли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:03 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
как жаль... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:07 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
а я думаю что может не нужно? а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:10 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
а почему такие мысли, чем синхронизация мешает? Вот товарищ Bruce Eckel пишет что лучше вообще сделать все паблик методы синхронизированными (на всякий случай), а если убираешь синхронизацию то подумать десять раз и то только если профилер показывает что это синхронизация это плохо. А вообще, синхронизация именно на такие ситуации и расчитана, что если кто-то будет делать get именно в то время когда кто-то делает add ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:26 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
2 unicornmirage: необязательно, в зависимости от того как используется объект. Ссылка может пригодится: http://java.sun.com/docs/books/tutorial/collections/implementations/wrapper.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:28 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
авторнеобязательно, в зависимости от того как используется объект. статическая информация необходима для чтения всеми instances данного класса и используется очень часто... изменение статической информации происходит редко... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:48 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
авторстатическая информация необходима для чтения всеми instances данного класса и используется очень часто... изменение статической информации происходит редко... это ни о чем не говорит. Представьте что у вас есть thread А (пользуется синхронизированым методом) и thread В (пользуется несинхоринизированым методом). Если В будет к примеру повторно вызывать метод getValue (к примеру при итерации) в то время как А будет вызывать метод setValue, то результаты возвращаемые методом getValue в В будут разными. Если вас это не беспокоит, то это не проблема. Если вам нужна атомарность, то нужно синхронизировать метод getValue. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 18:04 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
золотые слова ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 20:40 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
Сорри что поднимаю тему старую, но почему бы не воспользоваться ReentrantReadWriteLock'ом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2006, 18:06 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
он жеСорри что поднимаю тему старую, но почему бы не воспользоваться ReentrantReadWriteLock'ом? ух, слово какое страшное. :) побегу в яндекс смотреть что это такое... а в двух словах можете рассказать пока про него? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2006, 13:47 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
хотя всё стало ясно после прочтения вот этой статьи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2006, 14:11 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
А там, собсно, ничего сложного и нет. Как раз для таких случаев как у автора он и придуман. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 04:23 |
|
||
|
Нужно ли синхронизировать доступ на чтение?, правила синхронизации разделяемого ресурса
|
|||
|---|---|---|---|
|
#18+
он жеА там, собсно, ничего сложного и нет. Как раз для таких случаев как у автора он и придуман. выражаю свою благодарность! мне действительно помогло это интересное решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 12:51 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33786009&tid=2148986]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 470ms |

| 0 / 0 |
