当我阅读有关ForkJoinTask的javadoc时,我看到了以下声明:
如果并且仅当最内层的方法、构造函数、实例初始化器、静态初始化器、字段初始化器或显式构造函数调用语句包含语句或表达式是静态方法、静态初始化器、静态变量的变量初始化器或显式构造函数调用语句(§8.8.7),则在静态上下文中发生语句或表达式。
我不清楚这里的此方法只能从
ForkJoinPool
计算中调用(可以使用inForkJoinPool()
方法确定)。试图在其他上下文中调用会导致异常或错误,可能包括ClassCastException
。
ForkJoinContext
是什么意思。例如,我知道静态上下文是什么意思。它在JLS 8.1.3中明确定义如下(强调我自己添加的):如果并且仅当最内层的方法、构造函数、实例初始化器、静态初始化器、字段初始化器或显式构造函数调用语句包含语句或表达式是静态方法、静态初始化器、静态变量的变量初始化器或显式构造函数调用语句(§8.8.7),则在静态上下文中发生语句或表达式。