2013-11-07 2 views
1

Я читаю около publication объектов для обеспечения безопасности потоков. (Это описано в книге Concurrency in Practice - Brian Goetz Но я чувствую, что я не понимаю publication объекта правильноПубликация объекта для обеспечения безопасности нитей

Я думаю, что:... Если объект правильно опубликован, то готово использовать многократную нить

Как вы понимаете publication объекта?

Любой простой/краткое объяснение ценится. Благодаря

ответ

1

Опубликование просто означает, что объект видим/доступен для других объектов в системе. К моменту возврата конструктора объекта все его состояние должно быть правильно инициализировано, чтобы оно было готово к использованию.

(Обратите внимание, что некоторые структуры будут применяться обработка после строительства на управляемые объекты;. В этом случае состояние объекта должно быть стабильным перед возвращением из @PostConstruct)

+1

Незначительные нит, это на самом деле не о том, когда вернется конструктор, но, когда другой поток может прочитать переменную, которая хранит ссылку на объект. Если бы речь шла только о возвращении конструктора, не было бы ничего для безопасной публикации. – yshavit

Смежные вопросы