线程的同步技术。
代码:
public interface IBankQueue : IQueue<int>
{
int GetCallnumber();//得到号码
int MaxSize {
get; }//为了迁就使用顺序存储的队列
}
public class CSeqBankQueue : CSeqQueue<int>, IBankQueue//该队列的对象作为服务窗口共用的对象
{
//为什么这里面没有MaxSize呢?
private int _callnumber;
public CSeqBankQueue(int max) : base(max)
{
_callnumber = 0;//开始的时候初始化号码为零
}
public int GetCallnumber()//有人来取号
{
if (IsEmpty() && _callnumber == 0)//如果队列为空(队列里还没有人)并且该服务系统刚刚启动
{
_callnumber = 1;
}
else
{
_callnumber++;
}
return _callnumber;
}
}
public class LinkBankQueue : LinkQueue<int>, IBan