---
title: Dispatch Group
framework: dispatch
role: collectionGroup
role_heading: API Collection
path: dispatch/dispatch-group
---

# Dispatch Group

A group of tasks that you monitor as a single unit.

## Overview

Overview Groups allow you to aggregate a set of tasks and synchronize behaviors on the group. You attach multiple blocks to a group and schedule them for asynchronous execution on the same queue or different queues. When all blocks finish executing, the group executes its completion handler. You can also wait synchronously for all blocks in the group to finish executing.

## Topics

### Creating a Dispatch Group

- [init()](dispatch/dispatchgroup/init().md)
- [dispatch_group_t](dispatch/dispatch_group_t.md)

### Updating the Group Manually

- [enter()](dispatch/dispatchgroup/enter().md)
- [leave()](dispatch/dispatchgroup/leave().md)

## See Also

### Queues and Tasks

- [DispatchQueue](dispatch/dispatchqueue.md)
- [DispatchWorkItem](dispatch/dispatchworkitem.md)
- [DispatchGroup](dispatch/dispatchgroup.md)
- [Dispatch Queue](dispatch/dispatch-queue.md)
- [Dispatch Work Item](dispatch/dispatch-work-item.md)
- [Workloop](dispatch/workloop.md)
