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 _tasks; public TaskSequencer() { _tasks = new List(); } 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(); }); } } }