static void Main(string[] args) { var concurrency = 1000; var singltonObjectsArray = new Singleton[concurrency]; Parallel.For(0, concurrency, i => { singltonObjectsArray[i] = Singleton.Construct(); }); foreach (var singleton in singltonObjectsArray) { Console.WriteLine(singleton.Value); } Console.ReadLine(); }