Нет.Метод synchronized
в Java идентичен всему методу, тело которого заключено в блок synchronized (this)
.Поэтому, если один поток находится в методе synchronized
, другой поток не может одновременно находиться в другом методе synchronized
для того же объекта .
То, как это относится к Vector
в том, что вы не хотите, чтобы какой-то код пытался удалить элемент, в то время как другой код пытается добавить элемент.Это концепция критической секции ;Вы не только не хотите, чтобы кто-то другой пытался делать то, что вы делаете, вы также не хотите, чтобы кто-то другой делал что-то другое, что могло бы помешать.