TGViewer
Java Java @javatg · 16.7K subscribers
Post #2319 2.61K
💡 Java: не используй `Thread.sleep()` для ожидания работы

Thread.sleep() - это просто пауза на заданное время.

Проблема в том, что ты угадываешь:

❌ поток может проснуться слишком рано
❌ или наоборот, ждать дольше, чем нужно
❌ polling через sleep() создаёт лишние задержки и проверки

Для координации потоков лучше использовать:

✅ wait() / notify()
✅ CountDownLatch
✅ другие примитивы синхронизации из java.util.concurrent

Например:


CountDownLatch done = new CountDownLatch(1);

done.await(); // ждём сигнал
done.countDown(); // работа завершена


А если задача должна выполняться периодически, вместо бесконечного цикла с sleep() лучше взять



ScheduledExecutorService exec =
Executors.newSingleThreadScheduledExecutor();

exec.scheduleAtFixedRate(
this::doWork,
0,
1,
TimeUnit.SECONDS
);

Thread.sleep() хорошо подходит для простой задержки.


Для ожидания события и периодических задач в Java есть более точные инструменты.

#Java #Concurrency
  • ❤ 6
  • 👍 6
  • 🔥 4
More from @javatg
  1. Sep 24, 2026Kotlin 2.5.0-Beta1 вышел JetBrains выпустила первую бета-версию Kotlin 2.5.0. Главное: - L…
  2. Sep 23, 2026Spring Boot 4: как перенести старые настройки При обновлении добавьте временную зависимост…
  3. Sep 23, 2026⚡️⚡️Joker 2026: что происходит с профессией разработчика Индустрия разработки проходит чер…
  4. Sep 22, 2026🚀 Anthropic представила Claude Opus 5.5 Новая флагманская модель стала сильнее Opus 5, пр…
  5. Sep 22, 2026Как дать ИИ-агенту доступ к корпоративным данным и ничего не сломать 6 октября в 17:00 мск…
  6. Sep 19, 2026🚀 JetBrains обновила roadmap Kotlin: главный фокус - Multiplatform, Wasm и удобство разра…
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 →