Мои задачи содержат некоторый идентификатор. Мне нужен ScheduledExecutionService, который будет выполнять заданные задачи после определенного интервала времени (как это делают все стандартные реализации), но с одним ограничением: он не должен запускать задачу до тех пор, пока не будет завершена предыдущая задача с тем же идентификатором (другие задачи, конечно же, должны выполняться одновременно).ScheduledExecutorService с частичным упорядочением заданий
Другими словами, для данного идентификатора все задачи должны выполняться последовательно.
Есть ли возможность использовать реализацию в стандартной или 3-й партийной библиотеке или простой способ ее реализовать?
Также возвращен ScheduledFuture.cancel должен работать правильно, поскольку запланированное задание может быть отменено выполняемой в настоящее время задачей.
Я сделал аналогичное решение. https://gist.github.com/vbezhenar/cc49928995c03c1289bb вот код. – vbezhenar