Андрей
Высший разум
(460590)
1 месяц назад
В нормальном программировании - нигде не может. Это понятия разных категорий.
Любой цикл можно заменить рекурсией.
Любую рекурсию можно заменить комбинацией цикла и стека.
Можно, конечно, вместо рекурсивного вызова создавать новый поток и таким образом цикл можно заменить генерацией множества потоков. Но это, мягко говоря, удаление гланд через задницу.
С другой стороны, Хоар доказал, что для любой многоголовочной машины Тьюринга (многопоточный алгоритм) может быть построена эквивалентная ей одноголовочная МТ (последовательный однопоточный алгоритм). Так что любая многопоточная система может быть реализована циклами в одном потоке. Но эффективность такой реализации будет бессмысленно низкой.
ПапаВысший разум (143744)
1 месяц назад
А может, имелись в виду джава стримы? Ну, в нормальных языках операции теории категорий (map, reduce, filter) приделывались к последовательностям, вьюшкам и к самим коллекциям, а Java-комитет решил иначе и создал для этого новую абстракцию под названием Stream.