GPars之特殊Actors
万明辉
2023-12-01
为了易于编写和理解,GPars还提供了一些特殊的Actor。
动态派发Actor
DynamicDispatchActor类是一个池管理的actor,是消息处理代码的另一种形式。通常 DynamicDispatchActor会反复扫描消息,并将收到的消息派发给其某个onMessage(message)方法(类似事件处理的写法),或更简单的使用when handler。DynamicDispatchActor利用了Groovy的动态方法派发机制。下例是onMessage和when混合使用的例子:
代码参见原文
反应式(reactive) Actor
ReactiveActor类,一般是通过调用Actors.reactor()或PooledActorGroup.reactor()来构建的,让actor工作起来更像是事件驱动的方式。每当反应式acotr收到一个消息时,就会运行actor体来处理消息。下面是个简单的例子:
代码参见原文
原文:
[url=http://www.groovyq.net/node/136]GPars(8):特殊Actors[/url]