Я хотел бы использовать некоторое облегченное управление задачами (например, ScheduledThreadPoolExecutor) для периодического выполнения некоторых задач, которые могут блокироваться (например, из-за ожидания получения монитора / блокировки).В таком случае управление задачами должно обнаруживать эту ситуацию и создавать другую задачу / поток того же типа, который блокирует.
Как этого достичь?
И в качестве дополнительного вопроса: в документации ScheduledThreadPoolExecuter говорится, что «Если какое-либо выполнение задачи встречает исключение, последующие выполнения подавляются».В моем случае я бы предпочел перезапустить задачу, которая не удалась.Есть ли способ изменить это поведение?