Страницы

Поиск по вопросам

пятница, 10 января 2020 г.

Блокируется ли объект в synchronized блоке созданный в конструкторе класса?

#java #synchronized


Может быть глупый вопрос но всё же спрошу.

Имеется synchronized блок, в котором блокируется объект. В конструкторе этого самого
объекта создается другой объект.

Вопрос блокируется ли он так же?

пример:

public class SomeClass{

private SecondClass sClass;

public SomeClass(){
      sClass = new SecondClass();    
}

.
. // some action
.
try{
   synchronized(this){
      this.wait(sometime);
   }
 }

    


Ответы

Ответ 1



Не блокируется. На этом сайте был вопрос на другую тему, но ответ на него может помочь вам: Объект, на котором вы синхронизируетесь, никак не связан с содержимым этого объекта. Просто Java так странно устроена, что можно абсолютно любой объект использовать как монитор синхронизации и без разницы, что это за объект и для чего ещё он может использоваться.

Комментариев нет:

Отправить комментарий