Для подхода java.util.concurrent см. главу 6 Java Concurrency in Practice (раздел 6.3.7. Установка временных ограничений для задач, стр. 131).
Пример кода: Получение рекламы с использованием бюджета времени.