Function

dispatch_async

Submits a block for asynchronous execution on a dispatch queue and returns immediately.

Declaration

void dispatch_async(dispatch_queue_t queue, dispatch_block_t block);

Parameters

queue

The queue on which to submit the block. The queue is retained by the system until the block has run to completion. This parameter cannot be NULL.

block

The block to submit to the target dispatch queue. This function performs Block_copy and Block_release on behalf of callers. This parameter cannot be NULL.

Discussion

This function is the fundamental mechanism for submitting blocks to a dispatch queue. Calls to this function always return immediately after the block has been submitted and never wait for the block to be invoked. The target queue determines whether the block is invoked serially or concurrently with respect to other blocks submitted to that same queue. Independent serial queues are processed concurrently with respect to each other.

See Also

Managing Dispatch Queues

Dispatch Queue Types

Attributes to use when creating new dispatch queues.

dispatch_queue_t

A dispatch queue is a lightweight object to which your application submits blocks for subsequent execution.

dispatch_get_main_queue

Returns the serial dispatch queue associated with the application’s main thread.

dispatch_get_global_queue

Returns a system-defined global concurrent queue with the specified quality of service class.

dispatch_get_current_queue

Returns the queue on which the currently executing block is running.

Deprecated
dispatch_set_target_queue

Sets the target queue for the given object.

dispatch_async_f

Submits an application-defined function for asynchronous execution on a dispatch queue and returns immediately.

dispatch_sync_f

Submits an application-defined function for synchronous execution on a dispatch queue.

dispatch_after

Enqueue a block for execution at the specified time.

dispatch_after_f

Enqueues an application-defined function for execution at a specified time.

dispatch_apply_f

Submits an application-defined function to a dispatch queue for multiple invocations.

dispatch_queue_get_label

Returns the label specified for the queue when the queue was created.

dispatch_get_specific

Returns the value for the key associated with the current dispatch queue.

dispatch_queue_set_specific

Sets the key/value data for the specified dispatch queue.

dispatch_queue_get_specific

Gets the value for the key associated with the specified dispatch queue.

dispatch_once_t

A predicate for use with the dispatch_once function.

dispatch_once

Executes a block object once and only once for the lifetime of an application.

dispatch_once_f

Executes an application-defined function once and only once for the lifetime of an application.

dispatch_main

Executes blocks submitted to the main queue.