static async Task Main(string[] args) { var process = new Sequential(); List <Action> jobs = new List <Action>(); for (int i = 0; i < 50; i++) { jobs.Add(new Action(DoPaintWall)); } process.JobCompleted += Process_JobCompleted; process.DoWork(2, jobs); Console.ReadLine(); }