Created
June 24, 2011 09:19
-
-
Save snackycracky/1044482 to your computer and use it in GitHub Desktop.
groovy actors from http://gpars.codehaus.org/Groovy+Fast+Track
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Grab(group='org.codehaus.gpars', module='gpars', version='0.11') | |
import groovyx.gpars.actor.DynamicDispatchActor | |
import org.codehaus.groovy.runtime.NullObject | |
final class MyActor extends DynamicDispatchActor { | |
private int counter = 0 | |
void onMessage(String message) { | |
counter += message.size() | |
println 'Received string' | |
} | |
void onMessage(Integer message) { | |
counter += message | |
println 'Received integer' | |
} | |
void onMessage(Object message) { | |
counter += 1 | |
println 'Received object' | |
} | |
void onMessage(NullObject message) { | |
println 'Received a null object. Sending back the current counter value.' | |
reply counter | |
} | |
} | |
final def actor = new MyActor() | |
actor.start() | |
actor.send 1 | |
actor << 2 | |
actor 20 | |
actor 'Hello' | |
println actor.sendAndWait(null) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment