您的位置:首页 > 其它

图文并茂的生产者消费者应用实例demo

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





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

参考上文链接的代码,异步队列的实现逻辑不同于阻塞队列的实现逻辑,但其实差不多,异步队列是多消费者的形式消费,在递归中不断的调用task开启新的线程,而且消费者线程的数量取决于队列的数量,这就不太好了,当然我们可以做下改进,阻塞队列是单消费者的形式消费,我们可以很方便的改为多消费者。总的来说,这个的设计还是很不错的。做下笔记,回头再好好的研究下,以后直接放到项目中用,以及后面的春招!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: