c# – 定义了boundedcapacity的贪婪和非贪婪数据流块之间的差异
我有一个定义了BoundedCapacity的BatchBlock
var _batchBlock = new BatchBlock<int>(2,new GroupingDataflowBlockOptions {BoundedCapacity = 100 }); 因此,如果队列容量达到100,则该块会推迟收到的每条消息,直到某个地点可用. 解决方法
该块是贪婪的,但不是因为它如何处理100以上的项目,而是因为2以下的项目.您可以将贪婪值设置为false(默认值为true)然后块只会在有足够数量时实际使用项目发送一批,直到那时它们被推迟:
var batchBlock = new BatchBlock<int>(2,new GroupingDataflowBlockOptions { Greedy = false,BoundedCapacity = 100. });
从Dataflow (Task Parallel Library)起 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |