Directed Graph Processing in Java

Viewed 4358

I am looking to implement a Java application that will compute a set of tasks to execute. The tasks will have dependencies on each other, forming a directed graph. Is there an existing SDK or algorithm (preferably in Java) out there that will help me:

  1. Define the graph of tasks
  2. Ensure there are no cyclic dependencies in the graph
  3. Execute the tasks in the graph using a thread pool

Step 3 is the most important part. I need to execute the tasks in a parallel fashion for maximum performance yet ensure that a task isn't executed before its dependencies.

4 Answers
Related