groovyx.gpars.dataflow.operator
[Groovy] Class ForkingDataflowSelectorActor
java.lang.Object
groovyx.gpars.serial.WithSerialId
groovyx.gpars.actor.impl.MessageStream
groovyx.gpars.actor.Actor
groovyx.gpars.actor.AbstractLoopingActor
groovyx.gpars.actor.DynamicDispatchActor
groovyx.gpars.dataflow.operator.DataflowProcessorActor
groovyx.gpars.dataflow.operator.DataflowSelectorActor
groovyx.gpars.dataflow.operator.ForkingDataflowSelectorActor
private final class ForkingDataflowSelectorActor
extends DataflowSelectorActor
An selector's internal actor. Repeatedly polls inputs and once they're all available it performs the selector's body.
The selector's body is executed in as a separate task, allowing multiple copies of the body to be run concurrently.
The maxForks property guards the maximum number or concurrently run copies.
Field Summary |
private java.util.concurrent.Semaphore |
semaphore
|
private java.lang.Object |
threadPool
|
Fields inherited from class Actor
|
ACTOR_HAS_ALREADY_BEEN_STARTED, AFTER_START, CANNOT_SEND_REPLIES_NO_SENDER_HAS_BEEN_REGISTERED, EMPTY_ARGUMENTS, ON_DELIVERY_ERROR, RESPONDS_TO, START_MESSAGE, STOP_MESSAGE, TERMINATE_MESSAGE, TIMEOUT, TIMEOUT_MESSAGE, currentActorPerThread, currentThread, joinLatch, onStop, parallelGroup, serialVersionUID, timer |
Constructor Summary |
ForkingDataflowSelectorActor(java.lang.Object owningOperator, java.lang.Object group, java.lang.Object outputs, java.lang.Object inputs, java.lang.Object code, java.lang.Object maxForks)
|
Method Summary |
java.lang.Object
|
startTask(java.lang.Object index, java.lang.Object result)
|
Methods inherited from class AbstractLoopingActor
|
cancelCurrentTimeoutTask, doStart, getCore, getSender, hasBeenStopped, initialize, isActive, isFair, makeFair, reply, replyIfExists, runEnhancedWithoutRepliesOnMessages, send, setParallelGroup, setTimeout, silentStart, start, stop, sweepNextMessage, terminate |
Methods inherited from class Actor
|
callDynamic, createActorMessage, createRemoteHandle, deregisterCurrentActorWithThread, getJoinLatch, getParallelGroup, handleException, handleInterrupt, handleStart, handleTermination, handleTimeout, hasBeenStopped, isActive, isActorThread, join, join, join, join, onStop, registerCurrentActorWithThread, sendAndContinue, setParallelGroup, silentStart, start, stop, sweepNextMessage, sweepQueue, terminate, threadBoundActor |
Methods inherited from class java.lang.Object
|
java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#wait(long, int), 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() |
semaphore
private final java.util.concurrent.Semaphore semaphore
-
threadPool
private final java.lang.Object threadPool
-
ForkingDataflowSelectorActor
ForkingDataflowSelectorActor(java.lang.Object owningOperator, java.lang.Object group, java.lang.Object outputs, java.lang.Object inputs, java.lang.Object code, java.lang.Object maxForks)
-
startTask
@Override
java.lang.Object startTask(java.lang.Object index, java.lang.Object result)
-
Copyright © 2008–2010 Václav Pech. All Rights Reserved.