У меня есть Java Thread
, который обрабатывает исходящую связь с помощью Socket
. Я хочу, чтобы поток работал только в ожидании вывода, готового к отправке. Скажем, у меня есть Stack<String>
, который содержит данные, ожидающие отправки, я бы хотел, чтобы поток comms проснулся, когда что-то добавлено в стек и засыпает, когда стек пуст. Какой лучший подход для этого?
Параметры, которые я вижу,:
- Использование
wait()/notify()
- теперь похоже на старый способ достижения этого поведения - Проверка потока каждые x миллисекунд, если есть что-то, что нужно отправить
- Построение нового
Thread
каждый раз (дорого) - Выполнение потока выполняется постоянно (дорого)
- Реализация некоторого пула потоков или решения для исполнителей
Любые советы были бы замечательными:)