Я написал простой код для параллельной работы с использованием функции Java fork join.Невозможно вызвать функцию coInvoke из класса RecursiveAction
Я использую Java версии 7 (JDK 1.7)
import java.util.concurrent.RecursiveAction;
public class forkedPotential extends RecursiveAction {
public forkedPotential(double rmin,double rmax,double rstep){
for (double rad = rmin; rad <= rmax; rad = rad + rstep){
double V = rad*rad;
System.out.println(rad+" "+V);
}
}
@Override
protected void compute() {
forkedPotential first = new forkedPotential(0.01,1.0,0.1);
forkedPotential second = new forkedPotential(1.01,2.0,0.1);
forkedPotential third = new forkedPotential(2.01,3.0,0.1);
forkedPotential fourth = new forkedPotential(3.01,4.0,0.1);
forkedPotential fifth = new forkedPotential(4.01,5.0,0.1);
coInvoke(new forkedPotential(0.01,1.0,0.1),new forkedPotential(1.01,2.0,0.1));
}
}
У меня есть проблема, однако, что coInvoke нельзя назвать.
cannot find symbol
symbol: method coInvoke(forkedPotential,forkedPotential)
location: class forkedPotential
----
Это должно быть приемлемым использованием, поскольку forkedPotential расширяет RecursiveAction. И Alt-Return не дает мне полезного руководства.
Я пробовал другие utilisations из coInvoke, таких как
forkedPotential[] tasks = {first,second,third,fourth,fifth};
coInvoke(tasks);
, но без радости.
Я не знаю, почему эта функция coInvoke не может быть найдена, поскольку is является функцией в RecursiveAction.
Любые советы будут оценены.
спасибо.