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

//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 @   W(王甜甜)  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示