org.codehaus.gpars

groovyx.gpars.dataflow.operator
[Java] Class DataflowPrioritySelector

java.lang.Object
  groovyx.gpars.dataflow.operator.DataflowProcessor
      groovyx.gpars.dataflow.operator.DataflowSelector
          groovyx.gpars.dataflow.operator.DataflowPrioritySelector

public final class DataflowPrioritySelector
extends DataflowSelector

Dataflow selectors and operators (processors) form the basic units in dataflow networks. They are typically combined into oriented graphs that transform data. They accept a set of input and output dataflow channels so that once values are available to be consumed in any of the input channels the selector's body is triggered on the values, potentially generating values to be written into the output channels. The output channels at the same time are suitable to be used as input channels by some other dataflow processors. The channels allow processors to communicate.

Dataflow selectors and operators enable creation of highly concurrent applications yet the abstraction hides the low-level concurrency primitives and exposes much friendlier API. Since selectors and operators internally leverage the actor implementation, they reuse a pool of threads and so the actual number of threads used by the calculation can be kept much lower than the actual number of processors used in the network.

Priority selectors prefer to select messages from channels with lower position index.

Authors:
Vaclav Pech Date: Sep 23, 2009


Field Summary
 
Fields inherited from class DataflowSelector
guards, select
 
Fields inherited from class DataflowProcessor
INPUTS, LISTENERS, MAX_FORKS, OUTPUTS, STATE_OBJECT, actor, listeners, stateObject
 
Constructor Summary
DataflowPrioritySelector(PGroup group, java.util.Map channels, groovy.lang.Closure code)

 
Method Summary
void doSelect()

 
Methods inherited from class DataflowSelector
allGuardsClosed, countInputChannels, doSelect, setGuard, setGuards, verifyChannelParameters
 
Methods inherited from class DataflowProcessor
addDataflowEventListener, bindAllOutputValues, bindAllOutputValuesAtomically, bindAllOutputs, bindAllOutputsAtomically, bindOutput, bindOutput, checkMaxForks, extractInputs, extractListeners, extractOutputs, extractState, fireAfterRun, fireAfterStart, fireAfterStop, fireBeforeRun, fireControlMessageArrived, fireCustomEvent, fireMessageArrived, fireMessageSentOut, fireOnException, getOutput, getOutputs, getOutputs, getStateObject, join, registerChannelListenersToAllInputs, removeDataflowEventListener, reportError, shouldBeMultiThreaded, start, start, terminate, terminateAfterNextRun
 

Constructor Detail

DataflowPrioritySelector

public DataflowPrioritySelector(PGroup group, java.util.Map channels, groovy.lang.Closure code)


 
Method Detail

doSelect

@java.lang.Override
public void doSelect()


 

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