All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jtrim2.taskgraph.package-info Maven / Gradle / Ivy

/**
 * Defines the core interface for the task graph execution framework. The framework
 * allows for dynamically defining a computations with arbitrary dependencies and
 * execute the computations without blocking using resources to the fullest.
 *
 * 

Building a task graph

*
    *
  1. * The possible factories of the computations (called task node factories: * {@link org.jtrim2.taskgraph.TaskFactory TaskFactory}) must be declared. * These factories only define what is possible to be computed not what * actually will be computed. *
  2. *
  3. * Once the task node factories were defined, some computation must * be declared explicitly to be computed. *
  4. *
  5. * After the initial required computations were declared, the framework * will automatically create the task execution graph based on the dependencies * of the computations. *
  6. *
  7. * With the task graph ready, it can be executed, which will eventually * notify its {@code CompletionStage} after all computations were completed. *
  8. *
* *

Resource constraints

* * The framework allows restraining resource usage. There are two kinds of * resources, the framework recognizes: *
    *
  • * Resources being used only during a computation of a task node and released * after the computation terminates. This resource usage can be limited by * appropriate selection of the {@link org.jtrim2.executor.TaskExecutor task executors}. *
  • *
  • * Resources associated with the output of computations. Outputs consume * resources up until the point, no computation needs them. The management of * such resources is the responsibility of the task graph execution implementation. *
  • *
* * @see org.jtrim2.taskgraph.TaskGraphDefConfigurer * @see org.jtrim2.taskgraph.TaskGraphExecutors */ package org.jtrim2.taskgraph;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy