TGViewer
Java Developer Java Developer @java_tg · 14.8K subscribers
Post #2665 3.92K
❔ Вопрос с собеседования

Почему Thread.sleep() не освобождает монитор блокировки?

Ответ: Метод Thread.sleep() приостанавливает выполнение потока на заданное время, но при этом не освобождает монитор, если поток удерживает synchronized-блокировку.

Это происходит потому, что sleep() просто переводит поток в состояние ожидания (TIMED_WAITING), но не влияет на механизмы синхронизации. Пока поток “спит”, другие потоки не могут получить доступ к заблокированному ресурсу, так как монитор остается занятым.

Чтобы освободить монитор и дать другим потокам возможность выполнить код, необходимо использовать wait(), join(), Lock или Condition, которые позволяют явно управлять блокировкой и ожиданием.


tags: #собеседование

📱 Java Developer | Чат
  • 👍 8
  • 🔥 5
  • ❤ 4
More from @java_tg
  1. Oct 5, 2026Post #4389
  2. Oct 5, 2026🗂 Пакет Безопасности — папка, которую админ собирал более 10 лет ⚡️ Слитые курсы по IT и…
  3. Oct 5, 2026👩‍💻 Реальные сервисы прямо внутри Java-тестов Вместо моков и локально поднятой базы Test…
  4. Oct 4, 2026👩‍💻 Что нового появилось в Java 27 Релиз небольшой, но несколько изменений JVM действите…
  5. Oct 3, 2026Post #4385
  6. Oct 3, 2026👩‍💻 Почему разработчики не умеют вовремя остановиться? Автор рассуждает, где проходит гр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →