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


void dispatch_queue_set_specific(dispatch_queue_t queue, const void *key, void *context, dispatch_function_t destructor);



The queue on which to set the specified key/value data. This parameter must not be NULL.


The key you want to use to identify the associated context data. Keys are only compared as pointers and are never dereferenced. Thus, you can use a pointer to a static variable for a specific subsystem or any other value that allows you to identify the value uniquely. Specifying a pointer to a string constant is not recommended. NULL is not a valid value for the key and attempts to set context data with a NULL key are ignored.


The context data to associate with key. This parameter may be NULL.


A destructor function that you can use to release your context data. This parameter may be NULL. If context is NULL, your destructor function is ignored.


Use this method to associate custom context data with a dispatch queue. Blocks executing on the queue can use the dispatch_get_specific function to retrieve this data while they are running.

See Also

Getting and Setting Contextual Data


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


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