---
name: "dispatch"
section: "3"
platform: "macos"
package: "libdispatch"
version: "1542.100.32"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/dispatch"
---

# dispatch(3)

the dispatch framework

## NAME

**dispatch** – the dispatch framework

## SYNOPSIS

**#include \<dispatch/dispatch.h\>**

## DESCRIPTION

The dispatch framework allows blocks to be scheduled for asynchronous and concurrent execution via the core functions described in [dispatch\_async(3)](/dispatch_async/3.md) and [dispatch\_apply(3)](/dispatch_apply/3.md).

Dispatch queues are the basic units of organization of blocks. Several queues are created by default, and applications may create additional queues for their own use. See [dispatch\_queue\_create(3)](/dispatch_queue_create/3.md) for more information.

Dispatch groups allow applications to track the progress of blocks submitted to queues and take action when the blocks complete. See [dispatch\_group\_create(3)](/dispatch_group_create/3.md) for more information.

The dispatch framework also provides functions to monitor underlying system events and automatically submit event handler blocks to dispatch queues.

## SEE ALSO

[dispatch\_after(3)](/dispatch_after/3.md), [dispatch\_api(3)](/dispatch_api/3.md), [dispatch\_apply(3)](/dispatch_apply/3.md), [dispatch\_async(3)](/dispatch_async/3.md), [dispatch\_data\_create(3)](/dispatch_data_create/3.md), [dispatch\_group\_create(3)](/dispatch_group_create/3.md), [dispatch\_io\_create(3)](/dispatch_io_create/3.md), [dispatch\_io\_read(3)](/dispatch_io_read/3.md), [dispatch\_object(3)](/dispatch_object/3.md), [dispatch\_once(3)](/dispatch_once/3.md), [dispatch\_queue\_create(3)](/dispatch_queue_create/3.md), [dispatch\_semaphore\_create(3)](/dispatch_semaphore_create/3.md), [dispatch\_source\_create(3)](/dispatch_source_create/3.md), [dispatch\_time(3)](/dispatch_time/3.md)
