zoukankan      html  css  js  c++  java
  • Pick Activity(Build in Activity Sample)

    The Pick activity provides event-based control modeling. It behaves similar to the C# switch statement, which executes only one of the branches in the switchstatement. Unlike the switch statement in which a branch is executed based upon on a value, the Pick activity executes a branch based upon how an activity completes.

    This sample prompts a user to type in their name on the console within a given time period. The Pick activity in the sample has two branches that are executed based upon whether the user types in their name within 5 seconds or not. If the user types in their name within 5 seconds, the first branch is executed, which contains a custom ReadLine activity; otherwise the other branch is executed, which contains a Delay activity. Once a user’s name is typed in on the console, the user’s name is printed on the console. If an input is not entered within 5 seconds, the operation is timed out.

     

    here comes the msdn definition of pick activity :

    Schedules all child PickBranch activities and cancels all but the first to have its trigger complete.  The PickBranch activity has both a Trigger and an Action; each is an Activity.  When a trigger activity completes, the Pick cancels all its other child activities.  

    按我的理解和实际运行的例子告诉我:

    这里要理解Schedule这个单词的含义,实际上它会安排所有的PickBranch下的trigger同时运行。每个PickBranch就好象N个人的200米赛道。trigger可以理解为每个人的一个半程目标,也许A的半程目标是50米,B的是75米等等之类的。A,B的速度不敢说是一致的。但是可以肯定是,实际上,第一个跑完半程的人才允许继续跑完他的200米赛道,并且与此同时,会取消其它所有人的200米比赛。 

    结合上图的示例来说,右边的Trigger是一个延时,假设是5秒,左边不管他是什么,只要能在5秒之前完成,那么就会完成左边的完整分支执行,否则相反。 

    如MSDN所言,的确是很象Switch。个人理解,欢迎指点。谢谢。

  • 相关阅读:
    lamp一键安装
    mysql忘记密码
    lamp搭建
    进程与线程的一个简单解释
    使用jmeter进行api接口压力测试(转自某位大佬,感谢)
    cookie,session的区别
    Pycharm2019最新激活注册码(亲测有效)
    安装jmeter
    php环境搭建(需编译安装)
    (转载某位大神的,谢谢啦)listener.ora、tnsnames.ora和sqlnet.ora这3个文件的关系和作用
  • 原文地址:https://www.cnblogs.com/malaikuangren/p/2548502.html
Copyright © 2011-2022 走看看