您的位置:首页 > 编程语言 > C#

C# 多线程 简单的同步售票系统代码

2016-12-21 20:34 465 查看
using System;
using System.Threading;

//进程同步
//共50张票,3个窗口售卖

namespace Chapter10_Practice
{

class TicketRest
{
int ticket = 1;
public void sell()
{
while (ticket <= 50)
{
lock (this)
{
if (ticket > 50) break; //这里一定要判断。
Console.WriteLine("窗口{0}售票员:售出第{1}号车票", Thread.CurrentThread.Name, ticket);
ticket++;
}
}
}
}

class Program
{
static void Main(string[] args)
{
TicketRest a = new TicketRest();
Thread t1 = new Thread(a.sell);
t1.Name = "1";
Thread t2 = new Thread(a.sell);
t2.Name = "2";
Thread t3 = new Thread(a.sell);
t3.Name = "3";
t1.Start();
t2.Start();
t3.Start();
Console.ReadKey();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 多线程 同步 lock 售票