groovyx.gpars.group
Class DefaultPGroup
java.lang.Object
groovyx.gpars.group.PGroup
groovyx.gpars.group.DefaultPGroup
public final class DefaultPGroup
- extends PGroup
Provides logical grouping for actors, agents and dataflow tasks and operators. Each group has an
underlying thread pool, which will perform actions on behalf of the users belonging to the group. Actors
created through the DefaultPGroup.actor
method will automatically belong to the group
through which they were created, just like agents created through the agent
or fairAgent
methods or dataflow tasks and operators created through the task
or operator
methods.
Uses a pool of non-daemon threads. The DefaultPGroup
class implements the Pool
interface
through @Delegate
.
def group = new DefaultPGroup()
group.resize 1
def actor = group.actor {
react { message ->
println message
}
}.start()
actor.send 'Hi!'
. . .
group.shutdown()
Otherwise, if constructing Actors
directly through their constructors, the AbstractPooledActor.parallelGroup
property, which defaults to the Actors.defaultActorPGroup
, can
be set before the actor is started.
def group = new DefaultPGroup()
def actor = new MyActor()
actor.parallelGroup = group
actor.start()
. . .
group.shutdown()
- Author:
- Vaclav Pech
Constructor Summary |
DefaultPGroup()
Creates a group for actors, agents, tasks and operators. |
DefaultPGroup(int poolSize)
Creates a group for actors, agents, tasks and operators. |
DefaultPGroup(Pool threadPool)
Creates a group for actors, agents, tasks and operators. |
Methods inherited from class groovyx.gpars.group.PGroup |
actor, agent, agent, blockingActor, execute, fairActor, fairAgent, fairAgent, fairMessageHandler, fairReactor, fairStaticMessageHandler, finalize, getPoolSize, getThreadPool, messageHandler, operator, operator, operator, operator, operator, prioritySelector, prioritySelector, prioritySelector, prioritySelector, reactor, resetDefaultSize, resize, select, select, selector, selector, selector, selector, shutdown, splitter, splitter, staticMessageHandler, task, task, task, whenAllBound, whenAllBound, whenAllBound, whenAllBound, whenAllBound, whenAllBound, whenAllBound, whenAllBound, whenAllBound, whenAllBound |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DefaultPGroup
public DefaultPGroup(Pool threadPool)
- Creates a group for actors, agents, tasks and operators. The actors will share the supplied thread
pool.
- Parameters:
threadPool
- The thread pool to use for the group
DefaultPGroup
public DefaultPGroup()
- Creates a group for actors, agents, tasks and operators. The actors will share a common daemon thread pool.
DefaultPGroup
public DefaultPGroup(int poolSize)
- Creates a group for actors, agents, tasks and operators. The actors will share a common daemon thread pool.
- Parameters:
poolSize
- The initial size of the underlying thread pool