#java #synchronized
Может быть глупый вопрос но всё же спрошу. Имеется synchronized блок, в котором блокируется объект. В конструкторе этого самого объекта создается другой объект. Вопрос блокируется ли он так же? пример: public class SomeClass{ private SecondClass sClass; public SomeClass(){ sClass = new SecondClass(); } . . // some action . try{ synchronized(this){ this.wait(sometime); } }
Ответы
Ответ 1
Не блокируется. На этом сайте был вопрос на другую тему, но ответ на него может помочь вам: Объект, на котором вы синхронизируетесь, никак не связан с содержимым этого объекта. Просто Java так странно устроена, что можно абсолютно любой объект использовать как монитор синхронизации и без разницы, что это за объект и для чего ещё он может использоваться.
Комментариев нет:
Отправить комментарий