есть 100500 задач, которые по пол часа общаются с вебсокетом. Мне их надо все за день выполнить. Поэтому хочется ограничивать именно число одновременно запущенных задач, а не размер тредпула. Поведение, которое нужно в этом примере: задача 1 запущена, задача 2 запущена, задача 1 завершена, задача 3 запущена, задача 2 завершена, задача 4 запущена, ...
Для такого есть что-то готовое?
А почему не подходит фиксированный тредпул? Он ведь как раз даст гарантию что фиксированное количество тасок одновременно выполняется
Правильных решений тут 2: первое взять какие нибудь стримы, там уже по-любому будет контроль количества задач, второе семафор, которого ещё нет. Главное в этом сценарии не забывать ограничить очередь задач
Обсуждают сегодня