Skip to content

Instantly share code, notes, and snippets.

@snackycracky
Created June 24, 2011 09:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save snackycracky/1044482 to your computer and use it in GitHub Desktop.
Save snackycracky/1044482 to your computer and use it in GitHub Desktop.
@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