首页 > 其他 > 详细

BlockingCollection使用

时间:2016-12-30 10:21:24      阅读:288      评论:0      收藏:0      [点我收藏+]

BlockingCollection是一个线程安全的生产者-消费者集合。

代码

技术分享
public class BlockingTest
    {
        BlockingCollection<int> bc = new BlockingCollection<int>();
        public BlockingTest()
        {
            Task.Factory.StartNew(ProduceTask);
            Task.Factory.StartNew(ConsumeTask);
        }

        private void ProduceTask()
        {
            foreach (var item in Enumerable.Range(1, 100))
            {
                Console.WriteLine(string.Format("+++++++++++++: {0}", item));
                bc.Add(item);
            }
            bc.CompleteAdding();
        }

        private void ConsumeTask()
        {
            foreach(var item in bc.GetConsumingEnumerable())
            {
                Console.WriteLine(string.Format("---------------: {0}", item));
            }
        }
    }
View Code

 

结果:

技术分享

 

BlockingCollection使用

原文:http://www.cnblogs.com/gujf2016/p/6235706.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!