
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.02.2013, 12:04:08
|
|||
|---|---|---|---|
|
|||
Понимание synchronized |
|||
|
#18+
Привет, вроде почитал много о синхронизации, но так до конца и не понял. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Могут ли быть изменены свойства tmpBattle внутри synchronized другими потоками или весь код в блоке synchronized будет выполняться последовательно потоками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2013, 12:23:42
|
|||
|---|---|---|---|
|
|||
Понимание synchronized |
|||
|
#18+
mre, если метод синхронизирован - то к нему имеет доступ только 1 поток ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2013, 12:29:59
|
|||
|---|---|---|---|
|
|||
Понимание synchronized |
|||
|
#18+
Если синхронизируется весь код внутри блока, то для чего указывать объект блокировки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2013, 13:14:12
|
|||
|---|---|---|---|
|
|||
Понимание synchronized |
|||
|
#18+
mreЕсли синхронизируется весь код внутри блока, то для чего указывать объект блокировки? "объект блокировки" это "монитор". Для одного и того же монитора, блок будет выполняться только одним потоком. Если мониторы разные, то возможно паралельное исполнени для каждого монитора. Зачастую удобнее использовать Lock, а не synchronized. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2013, 14:06:09
|
|||
|---|---|---|---|
|
|||
Понимание synchronized |
|||
|
#18+
Ага, понятно, монитор - это конкретный экземпляр, а для статических методов монитор будет конкретным классом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2013, 14:07:38
|
|||
|---|---|---|---|
Понимание synchronized |
|||
|
#18+
Короче - ответ - внутри представленного блока все будет ок, все будет последовательно. Правило простое - один монитор - один поток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2013, 14:11:02
|
|||
|---|---|---|---|
Понимание synchronized |
|||
|
#18+
авторАга, понятно, монитор - это конкретный экземпляр, а для статических методов монитор будет конкретным классом? Ну точнее объектом типа "класс" - работать будет если используется один класслоэдер, если, вдруг, разные то и объекты получаться разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2013, 14:12:35
|
|||
|---|---|---|---|
|
|||
Понимание synchronized |
|||
|
#18+
Все, я понял, всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2013, 14:31:47
|
|||
|---|---|---|---|
Понимание synchronized |
|||
|
#18+
mreПривет, вроде почитал много о синхронизации, но так до конца и не понял. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Могут ли быть изменены свойства tmpBattle внутри synchronized другими потоками или весь код в блоке synchronized будет выполняться последовательно потоками. public synchronized boolean assault(User target) { //синхронайзд метода равносилен synchronized (this) - и всего - то. Удобне, конечно, использовать посторонний объект, нежели this. } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2013, 19:34:26
|
|||
|---|---|---|---|
|
|||
Понимание synchronized |
|||
|
#18+
mreМогут ли быть изменены свойства tmpBattle внутри synchronized другими потоками или весь код в блоке synchronized будет выполняться последовательно потоками. Да, если найдутся два таргета, у которых поля батл равны. Я бы синхронизировал метод(ы) класса Батл. (который выполнял бы те самые "//операции с tmpBattle"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=fandm&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
17ms |
get forum list: |
25ms |
get settings: |
15ms |
get forum list: |
16ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
51ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
78ms |
get tp. blocked users: |
3ms |
| others: | 567ms |
| total: | 807ms |

| 0 / 0 |
