Добрый день! Прошу помощи в оценке моего решения. Тестирование показывает корректный возврат для обоих вариантов порядка блокировки метода someMethodWithSynchronizedBlocks. Но валидатор не пропускает по второму пункту... Что подправить? Алгоритм следующий: - Запускаем первую демон нить для блокировки монитора объекта о1. После блокировки нить сразу засыпает на 2 секунды. - даём 10 миллисекунд на запуск - запускаем вторую демон нить для вызова метода someMethodWithSynchronizedBlocks. Нить должна заблокироваться либо по о1, либо по о2. Если нить блокирует монитор о2, значит он идёт первым в порядке блокировки метода someMethodWithSynchronizedBlocks. Значит мы должны вернуть false, если о2 не блокируется, то возвращаем true. - проверяем все заблокированные мониторы объектов у каждой нити. Сверяем по хэшкоду с объектом о2, если есть совпадение, то значит вторая нить заблокировала о2 -> возвращаем false. Иначе true.