A gateway is used to model concurrency in a process. It is used to control the flow of execution, or in BPMN 2.0 terminology, the tokens of execution.
A gateway is capable of consuming or generating tokens. It is graphically visualized as a diamond shape, with an icon inside. The icon describes the type of gateway.