Пока я читал the javadoc about ForkJoinTask я наткнулся на следующее утверждение:Понимание метода invokeAll из ForkJoinTask
Этот метод может быть вызван только из
ForkJoinPool
вычислений (как это может быть определено с использованием методаinForkJoinPool()
). Попытки использовать в других контекстах приводят к исключениям или ошибкам, возможно , включаяClassCastException
.
Что мне непонятно, то, что означает ForkJoinContext
. Я знаю, что означает статический контекст, например. Он четко определяет в JLS 8.1.3 следующим образом (Подчеркните мой):
заявление или выражение происходит в статическом контексте тогда и только тогда, когда сокровенного метод, конструктор, инициализатор экземпляра, статический инициализатора, поле инициализатора , или явным вызовом конструктора. Оператор, содержащий оператор или выражение, является статическим методом, статическим инициализатором , инициализатором переменной статической переменной или явным вызовом вызова конструктора (§8.8.7).