[LabVIEW随笔-9] -Actor Framework框架学习3

1、创建嵌套操作者

  1.1 将要启动的Actor与调用方Actor的消息队列作为参数传入Launch Actor当中

          image

       image

 

 

  1.2 将调用方的消息队列引用绑定至被调方Actor私有字段当中

                image

 

  1.3 创建launch根操作者

           image

 

  1.4 将Actor当中的私有字段"自己的消息队列"和"调用方的消息队列"建立访问器

      image

  1.5 在Actor类的子类"TestActor类"当中将Actor Core重写,添加EHL,当前面板关闭时向Actor发送停止消息,当Actor停止完毕后产生用户事件关闭EHL

image

 

  1.6 创建一个静态分配模板,启动嵌套操作者

    

        image

 

  1.7 创建"启动嵌套操作者"的消息类,继承自"Message"类,并重写Do.vi方法

      image

 

  1.8 Send Messgae

          image

 

  2 小结

    2.1 使用TestActor类启动根操作者,此时Actor对象为TestActor对象,调用者消息为空队列引用

    2.2 创建Message抽象类队列引用,并将其作为TestActor对象私有数据当中的"自己的消息队列引用",此时TestActor对象内部含有Message抽象类队列引用

      同时将该抽象队列引用作为数据入嵌套着队列引用的队列当中,可以使得外部VI访问当该消息类队列引用

    2.3 此时由于Actor Core的输入类型为"TestActor"对象,根据多态,此时执行TestActor的Actor Core方法

    2.4 在子类TestActor Actor Core方法中会调用父类的Actor Core方法,父类的Actor Core方法会将对象的"自己的消息队列引用"进行出队,根据出队的消息类型执行不同的操作(多态特性)

    2.5 当按下启动启动嵌套操作者按钮后,将"LaunchNastedMessage"消息对象入队"自己的消息队列引用"当中

    2.6 在下一个循环时,自己的消息队列当中含有一个"LaunchNastedMessage"对象,父类的Actor Core当中将"Message对象"出队,随后执行LaunchNastedMessage的Do方法

    2.7 将当前TestActor对象调用者Actor,另外一个新的TestActor对象作为嵌套Actor

    2.8 调用者将自己的消息队列引用作为"调用者消息队列引用",新的TestActor对象作为嵌套Actor

    2.9 以此类推

posted @ 2025-12-06 01:02  nonAny  阅读(8)  评论(0)    收藏  举报