-
Notifications
You must be signed in to change notification settings - Fork 57
Expand file tree
/
Copy pathProgram.cs
More file actions
35 lines (30 loc) · 1.09 KB
/
Program.cs
File metadata and controls
35 lines (30 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// //0
// var i0 = Singleton.GetInstance();
// Console.WriteLine($"Singleton {ReferenceEquals(i0, Singleton.GetInstance())}");
// //1
// var i1 = Singleton1.GetInstance();
// Console.WriteLine($"Singleton1 {ReferenceEquals(i1, Singleton1.GetInstance())}");
// //2
// var i2 = Singleton2.GetInstance();
// Console.WriteLine($"Singleton2 {ReferenceEquals(i2, Singleton2.GetInstance())}");
Console.WriteLine("Singleton");
Enumerable.Range(1, 10).Select(i => Task.Run(() =>
{
Console.WriteLine($"{Singleton.GetInstance().GetHashCode()}");
})).WhenAll().Wait();
Console.WriteLine("Singleton1");
Enumerable.Range(1, 10).Select(i => Task.Run(() =>
{
Console.WriteLine($"{Singleton1.GetInstance().GetHashCode()}");
})).WhenAll().Wait();
Console.WriteLine("Singleton2");
Enumerable.Range(1, 10).Select(i => Task.Run(() =>
{
Console.WriteLine($"{Singleton2.GetInstance().GetHashCode()}");
})).WhenAll().Wait();
Console.WriteLine("Singleton3");
Enumerable.Range(1, 10).Select(i => Task.Run(() =>
{
Console.WriteLine($"{Singleton3.GetInstance().GetHashCode()}");
})).WhenAll().Wait();
Console.ReadLine();