BlockingCollection使用

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

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

代码

BlockingCollection使用第1张BlockingCollection使用第2张
public classBlockingTest
    {
        BlockingCollection<int> bc = new BlockingCollection<int>();
        publicBlockingTest()
        {
            Task.Factory.StartNew(ProduceTask);
            Task.Factory.StartNew(ConsumeTask);
        }

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

        private voidConsumeTask()
        {
            foreach(var item inbc.GetConsumingEnumerable())
            {
                Console.WriteLine(string.Format("---------------: {0}", item));
            }
        }
    }
View Code

结果:

BlockingCollection使用第3张

免责声明:文章转载自《BlockingCollection使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C# params 用法简介redis的LRU算法(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Nodejs开发指南-笔记

第三章 异步式I/O与事件编程3.1 npm install -g supervisor  supervisor app.js 当后台修改代码后,服务器自动重启,生效修改的代码,不用手动停止/启动3.2 单线程异步I/O  减少了多线程的开销,对于操作系统,创建线程的开销很大,需分配内存、列入调度。同时线程切换时  需要内存换页,CPU的缓存被清空,切换回...

前端跨域

跨域是指一个域下的文档或脚本试图去请求另一个域下的资源。也就是说如果协议,域名,或者端口有一个不同就是跨域。 那么为什么要用跨域? 其实是因为浏览器出于安全考虑,我们都知道浏览器有同源策略。如果没有同源策略的情况下,A网站可以被任意来源的Ajax访问到内容,如果当前A网站还处于登录态,那么对方就可以通过Ajax获得A网站的任何消息。当然跨域可以用来房子CS...

分享一个利用HTML5制作的海浪效果代码

在前面简单讲述了一下HTML里的Canvas,这次根据Canvas完成了“海浪效果”(水波上升)。 (O(∩_∩)O哈哈哈~作者我能看这个动画看一下午) 上升水波.gif 动画分析构成:贝塞尔曲线画布:Canvas效果:波浪涨潮(上升、波动)触发条件:点击按钮 贝塞尔曲线.gif 算法实现分析:从sin()函数切入,sin()越大波度起伏越大,简单说就...

C#获取文件夹下所有文件

1.我们先在cmd下看一下文件夹的树结构 tree /f 2.新建一个控制台程序,将获取的所有文件打印出来,代码如下: using System; using System.Collections.Generic; using System.IO; namespace GetFiles { static class Program {...

关于Linux上的SSH服务无法启动,提示“/var/empty/sshd must be owned by root and not group or world-writable”错误

首先通过物理终端进入到linux上,手工检查ssh发现没运行# /etc/init.d/sshd statussshd is stopped 手动启动服务,发现报告权限错误。# /etc/init.d/sshd start Starting sshd:/var/empty/sshd must be owned by root and not group o...

Spring Controller单例与线程安全那些事儿

目录 单例(singleton)作用域 原型(Prototype)作用域 多个HTTP请求在Spring控制器内部串行还是并行执行方法? 实现单例模式并模拟大量并发请求,验证线程安全 附录:Spring Bean作用域 单例(singleton)作用域 每个添加@RestController或@Controller的控制器,默认是单例(singleto...