Manpages - dispatch.3
The dispatch framework allows blocks to be scheduled for asynchronous and concurrent execution via the core functions described in
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
for more information.
Dispatch groups allow applications to track the progress of blocks submitted to queues and take action when the blocks complete. See
for more information.
The dispatch framework also provides functions to monitor underlying system events and automatically submit event handler blocks to dispatch queues.