Я хочу иметь некоторый пул потоков, который запускает некоторые задачи каждый фиксированный промежуток времени (этот пул потоков постоянно получает задачи). Каждая задача вызывает некоторый API для получения некоторого значения, которое может быть нулевым. Я хочу, чтобы задача запускалась снова (после определенного времени), только если возвращаемое значение равно нулю. В противном случае я не хочу, чтобы эта задача когда-либо выполнялась снова. Есть ли способ добиться этого? Единственное, что я имел в виду, - это использовать ScheduledThreadPoolExecutor и уничтожить указанный поток c изнутри, но я не нашел способа сделать это, и я не уверен, что это хорошая практика.
Спасибо!