cascading.flow.local.stream.duct

## Class ParallelFork<Outgoing>

- java.lang.Object
- - cascading.flow.stream.duct.Duct<Incoming,Outgoing>
  - - cascading.flow.stream.duct.Fork<TupleEntry,Outgoing>
    - - cascading.flow.local.stream.duct.ParallelFork<Outgoing>

    public class ParallelFork<Outgoing>
    extends Fork<TupleEntry,Outgoing>

This "Fork" avoids a possible deadlock in Fork-and-Join scenarios by running downstream edges into parallel threads.

### Field Summary

### Fields inherited from class cascading.flow.stream.duct.Fork

`allNext`

### Fields inherited from class cascading.flow.stream.duct.Duct

`next`

### Constructor Summary

Constructors
Constructor and Description
`ParallelFork(Duct[] allNext)`

### Method Summary

Methods
`void` `complete(Duct previous)`
`void` `initialize()` Called immediately after bind
`void` `receive(Duct previous, int ordinal, TupleEntry incoming)`
`void` `start(Duct previous)`

### Methods inherited from class cascading.flow.stream.duct.Fork

`getAllNext, getNext`

### Methods inherited from class cascading.flow.stream.duct.Duct

`bind, cleanup, getNextFor, prepare, receiveFirst, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### ParallelFork

    public ParallelFork(Duct[] allNext)

### Method Detail

#### initialize

    public void initialize()

Description copied from class: `Duct`
Called immediately after bind

Overrides:
  `initialize` in class `Duct<TupleEntry,Outgoing>`

#### start

    public void start(Duct previous)

Overrides:
  `start` in class `Fork<TupleEntry,Outgoing>`

#### receive

    public void receive(Duct previous,
               int ordinal,
               TupleEntry incoming)

Overrides:
  `receive` in class `Fork<TupleEntry,Outgoing>`

#### complete

    public void complete(Duct previous)

Overrides:
  `complete` in class `Fork<TupleEntry,Outgoing>`