class Program
{
readonly static object _Sync = new object();
const int _Total = 10;
static long _Count = 0;
static void Main(string[] args)
{
Task task = Task.Run(() => Decrement());
for (int i = 0; i < _Total; i++)
{
lock (_Sync)
{
_Count++;
Console.WriteLine($"in mian:{_Count}");
}
}
task.Wait();
Console.WriteLine(_Count);
Console.ReadLine();
}
static void Decrement()
{
for(int i = 0;i<_Total;i++)
{
lock (_Sync)
{
_Count--;
Console.WriteLine($"in thread:{_Count}");
}
}
}
}