3.1.10.7.     并行遍历

一、功能描述

·                                 枚举集合元素并对集合中的每个元素并行执行嵌入语句。

二、属性

基本

·                                 显示名称:活动的显示名称。

输入

·                                 值:要循环访问的项的集合。 若要设置值,请在 " ParallelForEach <T> 活动设计器" "" 框中,在 "属性" 窗口的提示文本 "输入 VB 表达式" "" 框中键入 Visual Basic 表达式。

·                                 条件:在每个迭代完成后计算。 如果其计算结果为 true,则取消已安排的挂起的迭代;如果未设置此属性,则所有安排的语句都将执行,直至完成为止。

杂项

·                                 参数类型(TypeArgument):泛型参数T指定的 Values 集合中的项的类型。默认情况下, TypeArgument设置为Object。 若要更改 " ParallelForEach <T> " 活动设计器中的类型 T,请在属性网格中更改 " TypeArgument " 组合框的值。

三、注解

如图3.10.1.7-1

3.10.1.7-1

·                                 item为集合中的元素,也可自定义名称。

·                                 Body ActivityAction 集合中包含的每个值执行一次的 ValuesBody 的执行方式取决于 Body 是否进入空闲状态。如果 Body 未进入空闲状态,则会按相反顺序执行,因为安排的活动作为堆栈来处理,最后安排的活动最先执行。 例如,如果您有一个 {1,2,3,4}in 的集合 ParallelForEach<T> 并使用输出行活动组件作为主体来写入值。会在控制台中打印4321。 这是因为, 输出行活动不会处于空闲状态,因此在计划4个输出行活动后,将使用堆栈行为(在最后一个结束时)执行该操作。但是如果 Body 中有会进入空闲状态的活动,如 Receive 活动或 Delay 活动, 那么就不需要等待它们完成。 ParallelForEach<T> 转至下一个预定的主体活动,并尝试执行它。 如果该活动也进入空闲状态,则 ParallelForEach<T> 将再移到下一个 Body 活动。

·                                 若要添加 Body 活动,请将活动从 "工具箱" 拖放到 " ParallelForEach<T> " 活动设计器上的 "正文" 框中,其中包含提示文本 "在此处放置活动"