Вопрос проверяет умение проектировать тонкую синхронизацию для повышения масштабируемости.
Короткий ответ
Блокировка по ID реализуется через отдельный объект синхронизации для каждого ключа.
Вместо одного глобального synchronized используется мапа локов.
Каждый ID блокируется независимо.
Это повышает параллелизм.
Важно корректно управлять жизненным циклом локов.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.