Я ищу что-то вроде AtomicInteger
или LongAddr
, которое будет:
- Увеличивается, если значение меньше
MAX
, где MAX
- это определенное пользователем значение.
- Возвращает значение, указывающее, увеличился ли атом.
Использование регистра:
- У меня есть очередь задач.
- Одновременно должны выполняться только
MAX
задачи.
- Когда новое задание добавляется в очередь, я хочу запустить его, если количество текущих заданий меньше
MAX
Причина, по которой я не могу использовать AtomicInteger
или LongAddr
, заключается в том, что они позволяют сравнивать только определенное значение вместо диапазона значений.
Уточнение : Я не хочу, чтобы решение действительно выполняло задачу. Мой вариант использования включает в себя передачу сетевых запросов в Jetty. Он использует один поток для управления несколькими сетевыми запросами. Любое решение, которое запускает Executor
, побеждает эту цель, потому что тогда я получаю один поток на каждый сетевой запрос.