Example #1
0
  public IterationStatistics call(final Mappable<T> mappable, final LambdaVoid<T> body)
      throws ExecutionException {
    ProcessGroup<MyProcess> processes =
        new ProcessGroup<MyProcess>(GaloisRuntime.getRuntime().getMaxThreads()) {
          @Override
          protected MyProcess newInstance(int id) {
            return new MyProcess(id, mappable, body);
          }
        };

    mappable.beforePmap(this);
    try {
      processes.run();
      return processes.finish();
    } finally {
      mappable.afterPmap(this);
      contextObject = null;
    }
  }