static long TestConsume() { var recordNumber = 1000000; var random = new RandomTestDist(); var share1 = new ShareList(random); var insertEndTime = DateTime.Now; var task = Task.Factory.StartNew(() => { while (recordNumber-- > 0) { share1.In(Guid.NewGuid().ToString() + " " + DateTime.Now); } if (recordNumber <= 0) { insertEndTime = DateTime.Now; } }); //task.Wait(); var start = new Stopwatch(); var startTime = DateTime.Now; start.Start(); var i = 0; while (true) { Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Task.Factory.StartNew(() => { share1.PrintByMulti(); }); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Do once =============================================================================="); //if (share1.IsStop(startTime)) break; if (share1.CheckAllEmpty()) { i++; } if (i == 1000) { break; } } //start.Stop(); return(start.ElapsedMilliseconds); }
public ShareList(RandomTestDist random) { _random = random; }