DAGExecutor
A library that executes sets of Java tasks with respect to dependencies between each task. Each task is a Runnable object, and arbitrary directed acyclic graphs of dependencies and tasks can be executed, either with unlimited threads, or in by a fixed number of threads.
Install / Use
/learn @idooley/DAGExecutorREADME
DAGExecutor
An executor of Runnable Java objects. Each task is only executed after all tasks upon which it depends have finished. The dependencies are represented as a static directed-acyclic graph. Dynamically updated graphs are not yet supported.
Requirements
This library requires some external libraries that are distributed in the "lib" directory of the repository.
- guava -- Currently used for some "google collections" support, namely for its MultiMap implementation.
- junit -- JUnit, only required for running unit tests
Contributing
I'd love to incorporate changes from other contributors into this project.
- Fork it.
- Create a branch
- Commit your changes
- Push to the branch
- Create an issue with a link to your branch
- Enjoy a refreshing MountainDew Livewire and wait
Bug reports
If you encounter any bugs or unexpected behaviors that you would prefer not to fix on your own, please open an issue for tracking it.
