前面的几篇文章<<.NET 中的阻塞队列BlockingCollection的正确打开方式>><<项目开发中应用如何并发处理的一二事>>从代码以及理论角度,充分的利用了微软提供的BlockingCollection的属性IsComplete以及CompleteAdding完成了并发的设计,这次我们单单就从流水线式的生产者消费者来设计并发。具体的文章demo请看<<.Net中的并行编程-4.实现高性能异步队列>><<.Net中的并行编程-7.基于BlockingCollection实现高性能异步队列>>,代码设计逻辑请看下图:

图1是阻塞队列的并发模式简图,图二是异步队列的并发模式简图。

参考上文链接的代码,异步队列的实现逻辑不同于阻塞队列的实现逻辑,但其实差不多,异步队列是多消费者的形式消费,在递归中不断的调用task开启新的线程,而且消费者线程的数量取决于队列的数量,这就不太好了,当然我们可以做下改进,阻塞队列是单消费者的形式消费,我们可以很方便的改为多消费者。总的来说,这个的设计还是很不错的。做下笔记,回头再好好的研究下,以后直接放到项目中用,以及后面的春招!

最新文章

  1. [LeetCode] Distinct Subsequences 不同的子序列
  2. CAD的输出成高清jpg图片
  3. 查找html节点的方法
  4. 浅谈HTTP请求头content-type
  5. Android Xutils 框架(转)
  6. A BRIEF HISTORY OF COMPUTERS
  7. Android学习参考2
  8. Python中变量的作用域(variable scope)
  9. Perl 关于 use strict 的用法
  10. Yii Active Record 查询结果转化成数组
  11. Python框架
  12. 在VPS上安裝BT軟體Transmission
  13. EXCEL 两人的建立Y轴
  14. 随机生成n个不相等的随机数
  15. REALTEK 刷机方法 法
  16. overridePendingTransition的简介
  17. Echarts学习之路2(基本配置项)
  18. PHP画矩形,椭圆,圆,画椭圆弧 ,饼状图
  19. JustOj 2009: P1016 (dp)
  20. html 之 body topmargin、leftmargin、rightmargin、bottomnargin

热门文章

  1. Django 实现简单的文件上传
  2. 直接内存访问(DMA)
  3. Java进阶(三十九)Java集合类的排序,查找,替换操作
  4. 03安卓TextView
  5. Troubleshooting Autoinvoice Import
  6. Java-IO之超类InputStream
  7. 版本控制—使用Gradle自动管理应用程序版本
  8. Bias and Variance 偏置和方差
  9. Java函数2:计算两个日期相差的天数
  10. VB.NET版机房收费系统---报表