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()
| Fields inherited from class | Fields |
|---|---|
class PGroup |
A_SPLITTER_NEEDS_AN_INPUT_CHANNEL_AND_AT_LEAST_ONE_OUTPUT_CHANNEL_TO_BE_CREATED, threadPool |
| Constructor and description |
|---|
DefaultPGroup
(Pool threadPool)Creates a group for actors, agents, tasks and operators. |
DefaultPGroup
()Creates a group for actors, agents, tasks and operators. |
DefaultPGroup
(int poolSize)Creates a group for actors, agents, tasks and operators. |
Creates a group for actors, agents, tasks and operators. The actors will share the supplied thread pool.
threadPool - The thread pool to use for the groupCreates a group for actors, agents, tasks and operators. The actors will share a common daemon thread pool.
Creates a group for actors, agents, tasks and operators. The actors will share a common daemon thread pool.
poolSize - The initial size of the underlying thread poolCopyright © 2008–2014 Václav Pech. All Rights Reserved.