Как сделать правильную реализацию forkjoin

Создать синхронную многопоточную систему для определения суммы всех целых чисел или дробей в трех текстовых файлах. Как правильно реализовать forkjoin, не понимаю, что в recursiveaction вызывать рекурсивно.

    import java.io.*;
    import java.util.*;
    import java.util.concurrent.ForkJoinPool;
    import java.util.concurrent.RecursiveTask;
    
    
   public class Dispatcher {

    public static void main(String[] args) {

        SumOfDigits sumOfDigits = new SumOfDigits(Arrays.asList(
                new File("text.txt"),
                new File("text2.txt"),
                new File("text3.txt")
        ));
        ForkJoinPool pool = new ForkJoinPool(4);
        pool.invoke(sumOfDigits);

 

        System.out.println(sumOfDigits.resultInt + " " + sumOfDigits.resultDouble);
    }

}


class SumOfDigits extends RecursiveAction {
    List<File> files;
    int resultInt;
    double resultDouble;

    public SumOfDigits(List<File> files) {
        this.files = files;
    }

    void sum(File file) {
        try (Scanner sc = new Scanner(file)) {
            while (sc.hasNext()) {
                String num = sc.next();
                if (num.matches("^\\d+$")
                ) {
                    resultInt += Integer.parseInt(num);
                } else if (num.matches("[0-9]+(\\.){1}[0-9]*")) {
                    resultDouble += Double.parseDouble(num);
                }
            }
        } catch (Exception e) {
        }
    }

    @Override
    protected void compute() {
        files.forEach(this::sum);
    }
}

Ответы (0 шт):