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