C#加入块
例子
(收集2-3个输入并将它们组合成一个元组)
与BatchBlock一样,JoinBlock
例如,JoinBlock
与BatchBlock一样,JoinBlock
在默认的贪婪模式下,所有提供给目标的数据都被接受,即使另一个目标没有形成元组所需的数据。
在非贪婪模式下,块的目标将推迟数据,直到为所有目标提供了创建元组所需的数据,此时块将参与两阶段提交协议,以原子方式从源中检索所有必要的项目。这种延迟使得另一个实体可以同时消费数据,从而允许整个系统向前推进。
使用有限数量的池对象处理请求
var throttle = new JoinBlock(); for(int i=0; i<10; i++) { requestProcessor.Target1.Post(new ExpensiveObject()); } var processor = new Transform , ExpensiveObject>(pair => { var resource = pair.Item1; var request = pair.Item2; request.ProcessWith(resource); return resource; }); throttle.LinkTo(processor); processor.LinkTo(throttle.Target1);
StephenToub对TPL数据流的介绍
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练