class Program
{
static void Main(string[] args)
{
Data myData = new Data();
Thread my1 = new Thread(Myfun);
Thread my2 = new Thread(Myfun);
my1.Start(myData);
my2.Start(myData);
my1.Join();
my2.Join();
}
private static void Myfun(object obj)
{
Data targetData = obj as Data;
for (int i = 0; i < 10; i++){
targetData.Increase();
Console.WriteLine(targetData.num);
}
}
}
class Data
{
public int num = 0;
private object obj = new object();
public void Increase()
{
lock (obj)
{
this.num++;
Thread.Sleep(5);
}
}
}
728x90
'오늘의 코딩' 카테고리의 다른 글
C# Lock, Task (0) | 2022.01.26 |
---|---|
C# Linq (0) | 2022.01.25 |
C# Thread (0) | 2022.01.24 |
C# delegate pizza (0) | 2022.01.24 |
C# listView (0) | 2022.01.23 |