Как работает ForkJoinPool?

Senior
246 просмотров
AFK Offer AI

ForkJoinPool — пул для рекурсивных задач с work-stealing. Задачу можно разбить (fork) на подзадачи и потом объединить результаты (join). Каждый поток имеет свою deque задач, простаивающий поток ворует задачи у занятого. Используется как дефолтный пул для parallelStream() и CompletableFuture. RecursiveTask — с результатом, RecursiveAction — без. Common pool — общий на JVM, размер = Runtime.availableProcessors() - 1. Для CPU-bound задач отлично, для I/O — лучше отдельный пул.

Следующий вопрос

Как работает second-level cache в Hibernate?