«Этот» объект отличается для двух потоков, так как они представляют собой два разных объекта. Таким образом, они проверяют два разных замка, так что ничто не должно мешать им работать в параллельном критической секции:Почему синхронизировано (это) работает?
void method() {
synchronized(this) {
//critical section
}
}
Что мне не хватает?
Вам не хватает много. Это утверждение относится к бизнес-объекту, в который вступил поток. Он не имеет ничего общего с экземплярами потоков. Синхронизированный (это) позволяет не более одного потока одновременно вводить этот кодовый блок для этого объекта. – tmn