Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

R6Tasks

This repo provides few tasks extensions and solution for parallelizing tasks with dependencies.

Parallelizing tasks solution is based on book "Concurrency in .NET" https://www.manning.com/books/concurrency-in-dot-net

Built-in Example: Here is an oriented graph, presenting tasks and their dependencies image

Using R6Parallelizer we initiate system:

R6Parallelizer resolver = new R6Parallelizer();

resolver.AddTask(1, action(1, 6000), new[] {4, 5});
resolver.AddTask(2, action(2, 2000), new[] {5});
resolver.AddTask(3, action(3, 8000), new[] {6, 5});
resolver.AddTask(4, action(4, 5000), new[] {6});
resolver.AddTask(5, action(5, 4500), new[] {7, 8});
resolver.AddTask(6, action(6, 1000), new[] {7});
resolver.AddTask(7, action(7, 9000));
resolver.AddTask(8, action(8, 7000));

We could subscribe on task complete events

resolver.OnTaskCompleted += ResolverOnOnTaskCompleted;

And Resolve it with a single line

resolver.Resolve();

Output

image

Note

R6Parallelizer automatically reuse free resources

Dependencies

This solution uses my fork of Actress repository. link: https://github.com/RFS-6ro/Actress

About

This repo provides few tasks extensions and solution for parallelizing tasks with dependencies.

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages