|
|
|
Синхронизация
|
|||
|---|---|---|---|
|
#18+
Всем привет! Изучаю синхронизацию в java. Подскажите плз. Никак понять не могу. Как такой код может перебрать все числа в разных потоках? Я так понимаю, данный код должен в 1-м потоке перебрать все значения листа. А у меня иногда выходит что значения перебираются всем потоками. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 10:23 |
|
||
|
Синхронизация
|
|||
|---|---|---|---|
|
#18+
Caboforge, потом что, synchronized в описание моетода это то же самое что и Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. т.е. синхронизация на сам объект. В вашем случае это всё разные объекты, и этот синхронайз вам как мертвому припарка. это будет работать, только если все ваши потоку будут дёргать метод одного и того же объекта, с synchronized в описание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 12:13 |
|
||
|
Синхронизация
|
|||
|---|---|---|---|
|
#18+
Caboforge, в учебных примерах авторы стремяться как можно сильнее указать на "столкновения" потоков. Дидактический подход. Вы должны увидеть факт коллизий или захвата мутексов. В реальности этого нужно избегать любыми способами. Самое худшее приложение - это подобные учебные примеры. Самое лучшее приложение - разделение данных так чтобы они вообще не шарились. Лучше на уровне ТЗ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 16:42 |
|
||
|
Синхронизация
|
|||
|---|---|---|---|
|
#18+
Caboforge, Вы обращаетесь сразу из множества потоков к одному LinkedList, который не является потокобезопасным. Так делать нельзя - потоки имеют право не видеть изменений (или части изменений) этого LinkedList. final тут не гарантирует вообще ничего из того что вам нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2014, 00:38 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38772981&tid=2126462]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
187ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 536ms |

| 0 / 0 |
