[LabVIEW随笔-9] -Actor Framework框架学习3
1、创建嵌套操作者
1.1 将要启动的Actor与调用方Actor的消息队列作为参数传入Launch Actor当中


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

1.3 创建launch根操作者

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

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

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

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

1.8 Send Messgae

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 以此类推
浙公网安备 33010602011771号