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

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

Я с корутинами вижу одну проблему: код, который использует явно или неявно парадигму ThreadLocal, перестанет работать правильно. С корутинами мы с одной стороны не можем больше нигде полагаться на Thread.currentThread(), а с другой у нас нет аналогичной сущности, которая бы идентифицировала текущий (асинхронный) контекст выполнения. А вот например Quasar правильно обрабатывает ThreadLocal, т.к. Fiber ведет себя аналогично треду.

Да там не только ThreadLocal перестаёт работать, но и RW-локи (точнее extension-методы read и write, т.к. последний снимает read локи текущего потока и ставит их обратно после завершения блока). Но корутины вообще не поощряют какое-либо состояние, в том числе и общее — они заточены на коммуникацию между друг-другом.
В первую очередь, ForkJoinPool — это современный executor, созданный для использования с параллельными стримами Java 8.

ForkJoinPool появился в Java 7, что в принципе конечно не отрицает возможности того, что его создавали для параллельных стримов. Но так-то его можно использовать и отдельно.
это да; invokedynamic тоже вроде в 7ке появился, но цель — использование для лямбд в 8й. А вообще это не важно, важно понимать, почему FJP классный.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий