public static void Main1()
var threads = Enumerable.Range(0, 50).Select(
var thread = new Thread(DoWork) { Name = x.ToString() };
foreach (var thread in threads)
foreach (var thread in threads)
if (thread.IsAlive) thread.Join();
private static void DoWork()
Thread.Sleep(new Random(3).Next(0, 10));