org.codehaus.gpars

groovyx.gpars.actor
[Java] Class Actors

java.lang.Object
  groovyx.gpars.actor.Actors

@java.lang.SuppressWarningspublic static DefaultActor actor(@DelegatesTo(DefaultActor.class) final Runnable handler) {
public abstract class Actors

Provides handy helper methods to create pooled actors and customize the underlying thread pool. Use static import to be able to call Actors methods without the need to prepend them with the Actors identifier.

 import static org.gpars.actor.Actors.actor

 Actors.defaultActorPGroup.resize 1

 def actor = actor {
     react {message ->
         println message
     }
     // this line will never be reached
 }.start()

 actor.send 'Hi!'
 

All actors created through the Actors class will belong to the same default actor group and run on daemon threads. The DefaultPGroup class should be used when actors need to be grouped into multiple groups or when non-daemon threads are to be used.

Authors:
Vaclav Pech, Alex Tkachman Date: Feb 18, 2009


Field Summary
static DefaultPGroup defaultActorPGroup

 
Constructor Summary
Actors()

 
Method Summary
static DefaultActor actor(java.lang.Runnable handler)

static BlockingActor blockingActor(java.lang.Runnable handler)

Creates a new instance of PooledActor, using the passed-in closure as the body of the actor's act() method.

static DefaultActor fairActor(java.lang.Runnable handler)

Creates a reactor around the supplied code.

static Actor fairMessageHandler(groovy.lang.Closure code)

static Actor fairReactor(groovy.lang.Closure code)

Creates an instance of DynamicDispatchActor.

static Actor fairStaticMessageHandler(groovy.lang.Closure code)

static Actor messageHandler(groovy.lang.Closure code)

static Actor reactor(groovy.lang.Closure code)

Creates a reactor around the supplied code, which will cooperate in thread sharing with other actors in a fair manner.

static Actor staticMessageHandler(groovy.lang.Closure code)

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Field Detail

defaultActorPGroup

public static final DefaultPGroup defaultActorPGroup


 
Constructor Detail

Actors

Actors()


 
Method Detail

actor

public static DefaultActor actor(@groovy.lang.DelegatesTo java.lang.Runnable handler)


blockingActor

public static BlockingActor blockingActor(@groovy.lang.DelegatesTo java.lang.Runnable handler)
Creates a new instance of PooledActor, using the passed-in closure as the body of the actor's act() method. The created actor will be part of the default actor group. The actor will cooperate in thread sharing with other actors sharing the same thread pool in a fair manner.
Parameters:
handler - The body of the newly created actor's act method.
Returns:
A newly created instance of the DefaultActor class


fairActor

public static DefaultActor fairActor(@groovy.lang.DelegatesTo java.lang.Runnable handler)
Creates a reactor around the supplied code. When a reactor receives a message, the supplied block of code is run with the message as a parameter and the result of the code is send in reply. The created actor will be part of the default actor group.
Parameters:
code - The code to invoke for each received message
Returns:
A new instance of ReactiveEventBasedThread


fairMessageHandler

public static Actor fairMessageHandler(@groovy.lang.DelegatesTohActor, which will coopera groovy.lang.Closure code)


fairReactor

public static Actor fairReactor(@groovy.lang.DelegatesTocDispatchActor, which will groovy.lang.Closure code)
Creates an instance of DynamicDispatchActor.
Parameters:
code - The closure specifying individual message handlers.
Returns:
A new started instance of a DynamicDispatchActor


fairStaticMessageHandler

public static Actor fairStaticMessageHandler(@groovy.lang.DelegatesTo groovy.lang.Closure code)


messageHandler

public static Actor messageHandler(@groovy.lang.DelegatesTopatchActor. groovy.lang.Closure code)


reactor

public static Actor reactor(@groovy.lang.DelegatesTo groovy.lang.Closure code)
Creates a reactor around the supplied code, which will cooperate in thread sharing with other actors in a fair manner. When a reactor receives a message, the supplied block of code is run with the message as a parameter and the result of the code is send in reply. The created actor will be part of the default actor group.
Parameters:
code - The code to invoke for each received message
Returns:
A new instance of ReactiveEventBasedThread


staticMessageHandler

public static Actor staticMessageHandler(@groovy.lang.DelegatesTo groovy.lang.Closure code)


 

Copyright © 2008–2013 Václav Pech. All Rights Reserved.