static void Main(string[] args) { string folder = "logs"; List<DateTime> fileDates = GetFileDates(folder); foreach (DateTime fileDate in fileDates) { if (fileDate < DateTime.Now.AddDays(-1)) { Sorter sorter = new Sorter(folder, fileDate, 200, sem); _sorters.Add(sorter); } } foreach (Sorter sorter in _sorters) { sem.WaitOne(); sorter.Start(); } foreach (Sorter sorter in _sorters) sorter.WaitForExit(); }