问题遇到的现象和发生背景
运行后控制台窗口显示一下,然后没有反应
问题相关代码,请勿粘贴截图
class test
{
static List<int> seats = new List<int>();
static void Main()
{
for (int seat = 1; seat < 101; seat++) seats.Add(seat); //分配100个列车座位
for (int i = 1; i < 6; i++) //创建5个售票窗口同时售票
{
ThreadPool.QueueUserWorkItem(new WaitCallback(Ticketing), i);//创建并启动售票线程
}
}
static void Ticketing(object number) //售票线程函数
{
while (true)
{
int seat;
lock (seats) //锁定待售座位表
{
Console.WriteLine("{0}号窗口正在获取还未售出的座位...", number);
if (seats.Count == 0) //如果待售座位表为空,则票已售完
{
Console.WriteLine("车票已售完!{0}号窗口停止售票!", number);
break;
}
}
}
}
}