模拟5个人操作了应用程序,创建了5个任务,但是不解的是,只执行了3条记录,后面的记录都没有执行完,好郁闷啊,麻烦帮我看下,谢谢了。
这是我的demo代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Thread_Lock
{
class Program
{
private static readonly object TheLock = new object(); //必须private
static void Main(string[] args)
{
for (int i = 0; i < 5; i++)
{
Task.Run(() =>
{
lock (TheLock) //lock(object对象),把多线程进行单线程化,并且按照相应的顺序执行
{
Console.WriteLine($"Start_ThreadId:{Thread.CurrentThread.ManagedThreadId}");
Console.WriteLine($"End_ThreadId:{Thread.CurrentThread.ManagedThreadId}");
Console.WriteLine("====================================================");
}
});
}
}
}
}
运行结果为: