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

Executing Tasks Asynchronously

dispatch_async_f

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

dispatch_after

Enqueues a block for execution at the specified time.

dispatch_after_f

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

dispatch_function_t

The prototype of functions submitted to dispatch queues.

dispatch_block_t

The prototype of blocks submitted to dispatch queues, which take no arguments and have no return value.