测试一个线程向集合添加数据,另一个线程读取数据

//Console.WriteLine("--------------------------------");
//Console.WriteLine("测试一个线程向集合添加数据,另一个线程读取数据,请输入人名,输入exit退出");
//BlockingCollection<string> names = new BlockingCollection<string>();
//Task.Run(() =>
//{
// while (true)
// {
// var name = names.Take();
// Console.WriteLine("你好," + name);
// }
//});
//var name1 = Console.ReadLine();
//while (name1 != "exit")
//{
// if (!string.IsNullOrEmpty(name1))
// {
// names.Add(name1);
// }
// name1 = Console.ReadLine();
//}

//Console.WriteLine("--------------------------------");
//Console.WriteLine("测试BlockingCollection 和 ConcurrentQueue");
//var queue = new ConcurrentQueue<string>();
//var blockqueue = new BlockingCollection<string>(queue, 100);
//Console.WriteLine("加入name1");
//blockqueue.Add("name1");
//Console.WriteLine("加入name2");
//blockqueue.Add("name2");
//Console.WriteLine("加入name3");
//blockqueue.Add("name3");
//Console.WriteLine(blockqueue.Take());
//Console.WriteLine(blockqueue.Take());
//Console.WriteLine(blockqueue.Take());

//Console.WriteLine("--------------------------------");
//Console.WriteLine("测试BlockingCollection 和 ConcurrentStack");
//var cq = new ConcurrentStack<string>();
//var bc = new BlockingCollection<string>(cq, 100);
//Console.WriteLine("加入name1");
//bc.Add("name1");
//Console.WriteLine("加入name2");
//bc.Add("name2");
//Console.WriteLine("加入name3");
//bc.Add("name3");
//Console.WriteLine(bc.Take());
//Console.WriteLine(bc.Take());
//Console.WriteLine(bc.Take());

posted @ 2023-07-18 10:48  W(王甜甜)  阅读(25)  评论(0编辑  收藏  举报