public void MockTest() { // 模拟入队 var model1 = new Person("宋江", "男", 66); var model2 = new Person("李逵", "男", 53); var model3 = new Person("顾大嫂", "女", 46); var model4 = new Person("扈三娘", "女", 46); var model5 = new Person("一丈青", "女", 36); var model6 = new Person("林冲", "男", 45); var model7 = new Person("武松", "男", 42); var model8 = new Person("花和尚", "男", 39); var listPerson = new List <Person> { model1, model2, model3, model4, model5, model6, model7, model8 }; // 开始排队 foreach (var item in listPerson) { PersonEnqueue(item); } // 排队完成 // 注册Timer 在web项目中可以在 ApplicationStart 或者 静态构造函数中注册 TimeTask.Instance().ExecuteTask += new System.Timers.ElapsedEventHandler(ExecuteTask); // 表示间隔,5秒钟执行一次 TimeTask.Instance().Interval = 1000 * 5; TimeTask.Instance().Start(); Console.WriteLine("店小二:都别吵,都别吵,再等五秒钟开始卖包子。5 4 3 2 1 ..."); Console.ReadKey(); }
/// <summary> /// 出队 /// </summary> public static void PersonDequeue() { if (ConcurrenPersons.Count > 0) { var dequeueSuccesful = false; var peekSuccesful = false; Person workItem; // Stop TimeTask.Instance().Stop(); peekSuccesful = ConcurrenPersons.TryPeek(out workItem); if (peekSuccesful) { dequeueSuccesful = ConcurrenPersons.TryDequeue(out workItem); // 出队 Console.WriteLine("大家好,我叫" + workItem.Name + ",今年" + workItem.Age + "岁,一大早的就叫老子排队买包子,总算买完了!" + " " + DateTime.Now); Thread.Sleep(4000); } // Start TimeTask.Instance().Start(); } else { Console.WriteLine("队列里没人了,我要关闭定时器啦............"); // Stop TimeTask.Instance().Stop(); } }
public void MockTest() { // 注册Timer 在web项目中可以在 ApplicationStart 或者 静态构造函数中注册 TimeTask.Instance().ExecuteTask += new System.Timers.ElapsedEventHandler(ExecuteTask); // 修改成每隔一秒执行一次 TimeTask.Instance().Interval = 1000 * 1; TimeTask.Instance().Start(); // 模拟入队 var model1 = new Person("宋江", "男", 66); var model2 = new Person("李逵", "男", 53); var listPerson = new List <Person> { model1, model2 }; // 开始排队 foreach (var item in listPerson) { PersonEnqueue(item); } // 排队完成 Thread.Sleep(15000); AginEnque(); // 又来了一波买包子的人 Console.ReadKey(); }
/// <summary> /// 又来了一波买包子的人 /// </summary> public static void AginEnque() { Console.WriteLine("又有一波买包子的人来了......"); var listPerson = new List <Person>(); listPerson.Clear(); var model1 = new Person("刘备", "男", 66); var model2 = new Person("关羽", "男", 66); var model3 = new Person("张飞", "男", 66); listPerson.Add(model1); listPerson.Add(model2); listPerson.Add(model3); foreach (var item in listPerson) { // 第二次开始排队 PersonEnqueue(item); } TimeTask.Instance().Start(); }
static TimeTask() { Task = new TimeTask(); }