Skip to main content
Version: latest

Parallel gateway

A parallel gateway (aka AND-gateway) allows to split the flow into concurrent paths.


When a parallel gateway with multiple outgoing sequence flows is entered then all flows are taken. The paths are executed concurrently and independently.

The concurrent paths can be joined using a parallel gateway with multiple incoming sequence flows. The process instance waits at the parallel gateway until each incoming sequence is taken.

Note the outgoing paths of the parallel gateway are executed concurrently - and not parallel in the sense of parallel threads. All records of a process instance are written to the same partition (single stream processor).

Additional Resources#

XML Representation#

A parallel gateway with two outgoing sequence flows:

<bpmn:parallelGateway id="split" />
<bpmn:sequenceFlow id="to-ship-parcel" sourceRef="split"
targetRef="shipParcel" />
<bpmn:sequenceFlow id="to-process-payment" sourceRef="split"
targetRef="processPayment" />