Встречается на собеседованиях • сегодня
Что такое RecursiveTask
`RecursiveTask` — это абстрактный класс в Java из пакета `java.util.concurrent`, предназначенный для реализации задач, которые можно рекурсивно разбивать на подзадачи в рамках Fork/Join Framework. Он возвращает результат после выполнения.
**Пример:**
```java
import java.util.concurrent.RecursiveTask;
class FibonacciTask extends RecursiveTask {
final int n;
FibonacciTask(int n) { this.n = n; }
@Override
protected Integer compute() {
if (n <= 1) return n;
FibonacciTask f1 = new FibonacciTask(n - 1);
f1.fork(); // асинхронный запуск подзадачи
FibonacciTask f2 = new FibonacciTask(n - 2);
return f2.compute() + f1.join(); // ожидание результата и суммирование
}
}
```
**Особенности:**
- Наследуется от `ForkJoinTask`.
- Используется в `ForkJoinPool`.
- Подходит для задач с возвращаемым значением (в отличие от `RecursiveAction`).
- Рекурсивное разделение (`fork()`) и объединение (`join()`) результатов.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы