|
|
|
Вопрос по concurrency in pratctise
|
|||
|---|---|---|---|
|
#18+
Начал читать с середины. Про безопасную публикацию 3.5. Safe Publication So far we have focused on ensuring that an object not be published, such as when it is supposed to be confined to a thread or within another object. Of course, sometimes we do want to share objects across threads, and in this case we must do so safely. Unfortunately, simply storing a reference to an object into a public field, as in Listing 3.14, is not enough to publish that object safely. Listing 3.13. Caching the Last Result Using a Volatile Reference to an Immutable Holder Object. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. } Listing 3.14. Publishing an Object without Adequate Synchronization. Don't Do this. Код: java 1. 2. 3. 4. 5. 6. You may be surprised at how badly this harmless-looking example could fail. Because of visibility problems, the Holder could appear to another thread to be in an inconsistent state, even though its invariants were properly established by its constructor! This improper publication could allow another thread to observe a partially constructed object. Возникло пару вопросов по книге. Что за аннотация @ThreadSafe ? код(3.13) в главе представлен, но ссылок на него ниоткуда нет. Зачем он тогда представлен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2017, 15:52 |
|
||
|
Вопрос по concurrency in pratctise
|
|||
|---|---|---|---|
|
#18+
questionerЧто за аннотация @ThreadSafe ? Что-нибудь типа . Ну видел как иронию в тексте выделяют курсивом. Или прямую речь кавычками. Вот автор специально для тебя поясняет, что приведенный код с его точки зрения поткобезопасный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2017, 15:59 |
|
||
|
Вопрос по concurrency in pratctise
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, я понял, эта картинка к другому разделу. Очень странно книга устроена. раздел 3.5 меня разочаровал. Один пример неправильной публикации и всё. примеров правильной нет. Никаких разборов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2017, 18:08 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=75&tid=2123182]: |
0ms |
get settings: |
5ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 191ms |
| total: | 326ms |

| 0 / 0 |
