Как стать автором
Обновить

Комментарии 14

Утверждение о том, что

исходная задача при join() и invoke() возвращается в очередь и может быть продолжена и в другом потоке

весьма сильное и скорее всего не верное. С чего вы это взяли?
Из невнимательного чтения исходников. Спасибо, поправил.
одна задача может выполняться разными потоками попеременно

Это как? Код вычислений пишут в переопределенном методе compute(), наследуясь от RecursiveTask
Он вызывается 1 раз, и исполняется в одном потоке.

Вообще, Fork/Join не замена ExecutorService, а существует для вполне конкретного класса задач — рекурсивные вычисления, о чем и написано в JavaDoc:

A ForkJoinTask is a lightweight form of Future. The efficiency of ForkJoinTasks stems from a set of restrictions (that are only partially statically enforceable) reflecting their intended use as computational tasks calculating pure functions or operating on purely isolated objects. The primary coordination mechanisms are fork(), that arranges asynchronous execution, and join(), that doesn't proceed until the task's result has been computed. Computations should avoid synchronized methods or blocks, and should minimize other blocking synchronization apart from joining other tasks or using synchronizers such as Phasers that are advertised to cooperate with fork/join scheduling. Tasks should also not perform blocking IO, and should ideally access variables that are completely independent of those accessed by other running tasks.

Т.е. никаких ThreadLocal, блокировок, IO операций там быть просто не должно.
НЛО прилетело и опубликовало эту надпись здесь
Ну если очень надо, то и шурупы можно завинтить молотком :) Но зачем?..
НЛО прилетело и опубликовало эту надпись здесь
хорошо балансирующий work stealing

Который не работает, если пихать туда все подряд — IO, блокировки, всякие volatile и т.д.

Или это не так и FJP выгодней _во всех_ случаях?
НЛО прилетело и опубликовало эту надпись здесь
Вопрос в том, будет ли это по-прежнему выгодней, например, FixedThreadPool
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
«включаем -XX:-UseBiasedLocking»
Не понял, а разве с 6й явы он не включен по умолчанию?
И что такое lock re-biasing?
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории