diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-12-19 18:39:37 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-12-19 18:39:37 +0200 |
| commit | d204e56c57dcf52f31c9e64222f32a678150e721 (patch) | |
| tree | 6a66887ed7d833cc5384ab303780ec87fba2ec0a /Software/Visual_Studio/Tango.Core/Threading | |
| parent | 7e5482040defaeed03a754f8b4b01f9ee615814a (diff) | |
| download | Tango-d204e56c57dcf52f31c9e64222f32a678150e721.tar.gz Tango-d204e56c57dcf52f31c9e64222f32a678150e721.zip | |
Implemented TaskSequencer.
Improved ObservablesStatisCollections loading time.
Diffstat (limited to 'Software/Visual_Studio/Tango.Core/Threading')
| -rw-r--r-- | Software/Visual_Studio/Tango.Core/Threading/TaskSequencer.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Core/Threading/TaskSequencer.cs b/Software/Visual_Studio/Tango.Core/Threading/TaskSequencer.cs new file mode 100644 index 000000000..618635ea2 --- /dev/null +++ b/Software/Visual_Studio/Tango.Core/Threading/TaskSequencer.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.Core.Threading +{ + public class TaskSequencer + { + private List<Task> _tasks; + + public TaskSequencer() + { + _tasks = new List<Task>(); + } + + public void Add(Action action) + { + _tasks.Add(new Task(action)); + } + + public void Run() + { + _tasks.ForEach(x => x.Start()); + Task.WaitAll(_tasks.ToArray()); + } + + public Task RunAsync() + { + return Task.Factory.StartNew(() => + { + Run(); + }); + } + } +} |
